{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from config import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019年12月\n"
     ]
    }
   ],
   "source": [
    "print(f'{year}年{month}月')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Developer Salary in First-Tier Cities 程序员工资调查\n",
    "我在4月1日到3日之间，抓取了某招聘网站的软件和互联网类招聘数据40万条，其中通过程序判断为程序员的14万条。地域方面，我选择了24个主要城市。不过本文只以一线城市为研究对象。这样是为了和我2017年6月的数据做对比。\n",
    "\n",
    "提到2017年的文章，现在居然还有很多人，把这篇文章拿出来炒作。对于社会来说，可气的是，他们直接把2017改成2019，就发表了，这不是骗人么？！对于我来说，可气的是，他们转载居然还冒充是原创，是可忍熟不可忍！"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import sys\n",
    "sys.path.append('..')\n",
    "sys.path.append('../py')\n",
    "sys.path.append('../../py')\n",
    "import db\n",
    "import inspect\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "import seaborn as sns\n",
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import weighted\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "conn=db.get_conn()\n",
    "data_original=pd.read_sql(sql=f\"select * from _{year}{month:02} where monthly_salary>0 and city in ('北京','上海','广州','深圳')  and monthly_salary<80000\", con=conn)\n",
    "conn.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_job_ids=['104660258','104142922','108434795','101357291','106253516','110368302','111391233','108665401','109277048'\n",
    "                  ,'73857191','108584955','102824950','102824949','111391233','110884556']\n",
    "data=data_original[~data_original.job_id.isin(error_job_ids)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#del data['publish_date']\n",
    "#del data['published_on_weekend']\n",
    "#del data['title']\n",
    "#del data['title']\n",
    "#del data['company_title']\n",
    "#del data['company_description']\n",
    "#del data['job_description']\n",
    "#del data['job_id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job_id</th>\n",
       "      <th>monthly_salary</th>\n",
       "      <th>headcount</th>\n",
       "      <th>title</th>\n",
       "      <th>zhinengleibie</th>\n",
       "      <th>career</th>\n",
       "      <th>real_province</th>\n",
       "      <th>province</th>\n",
       "      <th>city</th>\n",
       "      <th>company_description</th>\n",
       "      <th>...</th>\n",
       "      <th>pl_visual_basic</th>\n",
       "      <th>publish_date</th>\n",
       "      <th>published_on_weekend</th>\n",
       "      <th>tag_baby_care</th>\n",
       "      <th>tag_five_insurance</th>\n",
       "      <th>tag_flexible</th>\n",
       "      <th>tag_no_overtime</th>\n",
       "      <th>tag_rest_one_day</th>\n",
       "      <th>tag_rest_two_days</th>\n",
       "      <th>tag_stock</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>33239</td>\n",
       "      <td>118720034</td>\n",
       "      <td>17500</td>\n",
       "      <td>222</td>\n",
       "      <td>高级后台开发工程师/Java开发工程师（北京）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>营销实验室Convertlab（上海欣兆阳信息科技有限公司）为企业提供创新的数字营销平台DM...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-11-22</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>22156</td>\n",
       "      <td>116717167</td>\n",
       "      <td>10000</td>\n",
       "      <td>200</td>\n",
       "      <td>海外业务软件工程师（2020届）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>上海</td>\n",
       "      <td>上海</td>\n",
       "      <td>上海海隆软件有限公司成立于1989年4月，是国内著名软件企业、国家规划布局内重点软件企业。公...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-12-01</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>22582</td>\n",
       "      <td>116813374</td>\n",
       "      <td>12916</td>\n",
       "      <td>200</td>\n",
       "      <td>Java开发工程师（2020届）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>算法工程师</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-11-28</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14844</td>\n",
       "      <td>114568087</td>\n",
       "      <td>3750</td>\n",
       "      <td>151</td>\n",
       "      <td>C#软件开发工程师（雄安新区岗位）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-12-01</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4658</td>\n",
       "      <td>108834444</td>\n",
       "      <td>15000</td>\n",
       "      <td>150</td>\n",
       "      <td>Java开发工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-11-29</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 94 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          job_id  monthly_salary  headcount                    title  \\\n",
       "33239  118720034           17500        222  高级后台开发工程师/Java开发工程师（北京）   \n",
       "22156  116717167           10000        200         海外业务软件工程师（2020届）   \n",
       "22582  116813374           12916        200         Java开发工程师（2020届）   \n",
       "14844  114568087            3750        151        C#软件开发工程师（雄安新区岗位）   \n",
       "4658   108834444           15000        150                Java开发工程师   \n",
       "\n",
       "      zhinengleibie career real_province province city  \\\n",
       "33239         软件工程师  一般程序员          None       北京   北京   \n",
       "22156         软件工程师  一般程序员          None       上海   上海   \n",
       "22582         软件工程师  算法工程师          None       广东   广州   \n",
       "14844         软件工程师  一般程序员          None       北京   北京   \n",
       "4658          软件工程师  一般程序员          None       北京   北京   \n",
       "\n",
       "                                     company_description  ... pl_visual_basic  \\\n",
       "33239  营销实验室Convertlab（上海欣兆阳信息科技有限公司）为企业提供创新的数字营销平台DM...  ...           False   \n",
       "22156  上海海隆软件有限公司成立于1989年4月，是国内著名软件企业、国家规划布局内重点软件企业。公...  ...           False   \n",
       "22582  广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...  ...           False   \n",
       "14844  北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...  ...           False   \n",
       "4658   大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...  ...           False   \n",
       "\n",
       "      publish_date published_on_weekend tag_baby_care  tag_five_insurance  \\\n",
       "33239   2019-11-22                False         False                True   \n",
       "22156   2019-12-01                 True         False                True   \n",
       "22582   2019-11-28                False         False                True   \n",
       "14844   2019-12-01                 True         False               False   \n",
       "4658    2019-11-29                False         False                True   \n",
       "\n",
       "       tag_flexible  tag_no_overtime  tag_rest_one_day  tag_rest_two_days  \\\n",
       "33239          True            False             False              False   \n",
       "22156          True            False             False              False   \n",
       "22582         False            False             False              False   \n",
       "14844         False            False             False              False   \n",
       "4658          False            False             False              False   \n",
       "\n",
       "       tag_stock  \n",
       "33239       True  \n",
       "22156      False  \n",
       "22582      False  \n",
       "14844      False  \n",
       "4658       False  \n",
       "\n",
       "[5 rows x 94 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data=data.sort_values(by='headcount', ascending=False)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def pd_weighted_mean(group, avg_name, weight_name):\n",
    "    \"\"\" http://stackoverflow.com/questions/10951341/pandas-dataframe-aggregate-function-using-multiple-columns\n",
    "    In rare instance, we may not have weights, so just return the mean. Customize this if your business case\n",
    "    should return otherwise.\n",
    "    \"\"\"\n",
    "    d = group[avg_name]\n",
    "    w = group[weight_name]\n",
    "    try:\n",
    "        return (d * w).sum() / w.sum()\n",
    "    except ZeroDivisionError:\n",
    "        return d.mean()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Unilateral Stats 总体统计"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "有数据可知，程序员向一线城市集中的趋势非常明显。\n",
    "\n",
    "According to the statistics, significant amount of developers are in the first tier cities."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(41599, 94)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "131531"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 5000., 11500., 14000., 20000., 37500.])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "salary_mean=weighted.weighted_mean(data.monthly_salary.values, data.headcount.values)\n",
    "q=weighted.weighted_quantile(data.monthly_salary.values,[0.025,0.25,0.5,0.75,0.975], data.headcount.values)\n",
    "q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019年12月中国一线城市程序员的平均工资为16105元，工资中位数为14000元，其中95%的人的工资位于5000到37500元之间。\n"
     ]
    }
   ],
   "source": [
    "print(f'{year}年{month}月中国一线城市程序员的平均工资为{salary_mean:.0f}元，工资中位数为{q[2]:.0f}元，其中95%的人的工资位于{q[0]:.0f}到{q[4]:.0f}元之间。')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "In 2019, Developers in China earn 16105 Yuan as average, the median is 14000 Yuan, 95% of them earn between 5000 and 37500 Yuan.\n"
     ]
    }
   ],
   "source": [
    "print(f'In {year}, Developers in China earn {salary_mean:.0f} Yuan as average, '\n",
    "      f'the median is {q[2]:.0f} Yuan, 95% of them earn between {q[0]:.0f} and {q[4]:.0f} Yuan.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2b52d44f208>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data.monthly_salary.hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It does not look like normal distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import stats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NormaltestResult(statistic=13542.17764875209, pvalue=0.0)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.normaltest(data.monthly_salary)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "null hypothesis: x comes from a normal distribution\n",
    "    \n",
    "p=0\n",
    "\n",
    "The null hypothesis can be rejected\n",
    "\n",
    "conclusion: data is not normally distributed."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Zoom in"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data[data.monthly_salary<40000].monthly_salary.hist()\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(0,0), xytext=(2000, 100), color='white')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Role 角色"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Common Functions\n",
    "def get_sub_stats_by_col(data, col):\n",
    "    categories=data[col].unique()\n",
    "    salary_mean=[]\n",
    "    salary_95_min=[]\n",
    "    salary_95_max=[]\n",
    "    salary_median=[]\n",
    "    \n",
    "\n",
    "    count=[]\n",
    "    \n",
    "    categorys_out=[]\n",
    "    for category in categories:\n",
    "        #print(feature)\n",
    "        idata=data[data[col]==category]\n",
    "        headcount=idata.headcount.sum()\n",
    "        values = idata.monthly_salary.values\n",
    "        weights = idata.headcount.values\n",
    "        #print(str(headcount))\n",
    "        if headcount==0:\n",
    "            continue\n",
    "        \n",
    "        salary_mean.append(np.average(values, weights=weights))\n",
    "        \n",
    "\n",
    "        q = weighted.weighted_quantile(values,[0.025,0.5,0.975],weights)\n",
    "        salary_95_min.append(q[0])\n",
    "        salary_median.append(q[1])\n",
    "        salary_95_max.append(q[2])\n",
    "        count.append(idata.headcount.sum())\n",
    "        categorys_out.append(category)\n",
    "    sub_data=pd.DataFrame()\n",
    "    sub_data[col]=[c for c in categorys_out]\n",
    "    sub_data['salary_mean']=salary_mean\n",
    "    sub_data['salary_95_min']=salary_95_min\n",
    "    sub_data['salary_median']=salary_median\n",
    "    sub_data['salary_95_max']=salary_95_max\n",
    "    sub_data['head_count']=count\n",
    "    sub_data['percentage']=count/np.sum(count)\n",
    "    sub_data=sub_data.sort_values(by='salary_mean', ascending=False)\n",
    "\n",
    "    return sub_data\n",
    "\n",
    "def get_sub_stats_by_prefix(data, prefix):\n",
    "    \n",
    "    features = [feature for feature in data.columns if feature.startswith(prefix)]\n",
    "    salary_mean=[]\n",
    "    salary_median=[]\n",
    "    salary_95_min=[]\n",
    "    salary_95_max=[]\n",
    "    count=[]\n",
    "    \n",
    "    features_out=[]\n",
    "    for feature in features:\n",
    "        #print(feature)\n",
    "        idata=data[data[feature]==1]\n",
    "        headcount=idata.headcount.sum()\n",
    "        values = idata.monthly_salary.values\n",
    "        weights = idata.headcount.values\n",
    "        #print(str(headcount))\n",
    "        if headcount==0:\n",
    "            continue\n",
    "        \n",
    "        salary_mean.append(weighted.weighted_mean(values, weights))\n",
    "        q = weighted.weighted_quantile(values,[0.025,0.5,0.975],weights)\n",
    "        salary_median.append(q[1])\n",
    "        salary_95_min.append(q[0])\n",
    "        salary_95_max.append(q[2])\n",
    "        count.append(idata.headcount.sum())\n",
    "        features_out.append(feature)\n",
    "    sub_data=pd.DataFrame()\n",
    "    sub_data['rank']=range(0,len(features_out))\n",
    "    sub_data[prefix]=[f.replace(prefix,'') for f in features_out]\n",
    "    sub_data['salary_mean']=salary_mean\n",
    "    sub_data['salary_median']=salary_median\n",
    "    sub_data['salary_95_min']=salary_95_min\n",
    "    sub_data['salary_95_max']=salary_95_max\n",
    "    sub_data['head_count']=count\n",
    "    sub_data['percentage']=count/np.sum(count)\n",
    "    sub_data=sub_data.sort_values(by='salary_mean', ascending=False)\n",
    "    sub_data['rank']=range(1,len(features_out)+1)\n",
    "    #sub_data=sub_data.reset_index()\n",
    "    return sub_data\n",
    "\n",
    "def apply_style(sub_data):\n",
    "    return sub_data.style.hide_index().format(\n",
    "    {\"salary_mean\":\"{:.0f}\",\"salary_median\":\"{:.0f}\",\"salary_95_min\":\"{:.0f}\",\"salary_95_max\":\"{:.0f}\",\"percentage\":\"{:.2%}\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031ef\" ><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >career</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                        <th id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031eflevel0_row0\" class=\"row_heading level0 row0\" >2</th>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow0_col0\" class=\"data row0 col0\" >系统架构师</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow0_col1\" class=\"data row0 col1\" >25156</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow0_col2\" class=\"data row0 col2\" >5250</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow0_col3\" class=\"data row0 col3\" >22500</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow0_col4\" class=\"data row0 col4\" >52500</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow0_col5\" class=\"data row0 col5\" >5332</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow0_col6\" class=\"data row0 col6\" >4.05%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031eflevel0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow1_col0\" class=\"data row1 col0\" >算法工程师</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow1_col1\" class=\"data row1 col1\" >20810</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow1_col2\" class=\"data row1 col2\" >5250</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow1_col3\" class=\"data row1 col3\" >18500</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow1_col5\" class=\"data row1 col5\" >13760</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow1_col6\" class=\"data row1 col6\" >10.46%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031eflevel0_row2\" class=\"row_heading level0 row2\" >0</th>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow2_col0\" class=\"data row2 col0\" >一般程序员</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow2_col1\" class=\"data row2 col1\" >15105</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow2_col2\" class=\"data row2 col2\" >5000</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow2_col3\" class=\"data row2 col3\" >13000</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow2_col4\" class=\"data row2 col4\" >35000</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow2_col5\" class=\"data row2 col5\" >112206</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow2_col6\" class=\"data row2 col6\" >85.31%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031eflevel0_row3\" class=\"row_heading level0 row3\" >3</th>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow3_col0\" class=\"data row3 col0\" >爬虫工程师</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow3_col1\" class=\"data row3 col1\" >12816</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow3_col2\" class=\"data row3 col2\" >5250</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow3_col4\" class=\"data row3 col4\" >25583.3</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow3_col5\" class=\"data row3 col5\" >206</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow3_col6\" class=\"data row3 col6\" >0.16%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031eflevel0_row4\" class=\"row_heading level0 row4\" >4</th>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow4_col0\" class=\"data row4 col0\" >生物信息工程师</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow4_col1\" class=\"data row4 col1\" >11389</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow4_col2\" class=\"data row4 col2\" >7000</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow4_col3\" class=\"data row4 col3\" >12500</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow4_col4\" class=\"data row4 col4\" >15000</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow4_col5\" class=\"data row4 col5\" >27</td>\n",
       "                        <td id=\"T_f8c215c8_176c_11ea_b6f1_701ce71031efrow4_col6\" class=\"data row4 col6\" >0.02%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2b52d540ac8>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_career = get_sub_stats_by_col(data,'career')\n",
    "data_career.style.format({\"salary_mean\":\"{:.0f}\",\"salary_median\":\"{:.0f}\",\"percentage\":\"{:.2%}\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "16105.149592111366"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(data.monthly_salary * data.headcount) / data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "131531"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    41599.000000\n",
       "mean         3.161879\n",
       "std          3.814002\n",
       "min          0.000000\n",
       "25%          1.000000\n",
       "50%          2.000000\n",
       "75%          5.000000\n",
       "max        222.000000\n",
       "Name: headcount, dtype: float64"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job_id</th>\n",
       "      <th>monthly_salary</th>\n",
       "      <th>headcount</th>\n",
       "      <th>title</th>\n",
       "      <th>zhinengleibie</th>\n",
       "      <th>career</th>\n",
       "      <th>real_province</th>\n",
       "      <th>province</th>\n",
       "      <th>city</th>\n",
       "      <th>company_description</th>\n",
       "      <th>company_size</th>\n",
       "      <th>company_title</th>\n",
       "      <th>company_type</th>\n",
       "      <th>page_title</th>\n",
       "      <th>ageism</th>\n",
       "      <th>db_Apache_Hive</th>\n",
       "      <th>db_CouchBase</th>\n",
       "      <th>db_CouchDB</th>\n",
       "      <th>db_DB2</th>\n",
       "      <th>db_DynamoDB</th>\n",
       "      <th>db_Elasticsearch</th>\n",
       "      <th>db_FileMaker</th>\n",
       "      <th>db_Firebase</th>\n",
       "      <th>db_Firebird</th>\n",
       "      <th>db_Hbase</th>\n",
       "      <th>db_Informix</th>\n",
       "      <th>db_Ingres</th>\n",
       "      <th>db_MariaDB</th>\n",
       "      <th>db_Memcached</th>\n",
       "      <th>db_MongoDB</th>\n",
       "      <th>db_MySQL</th>\n",
       "      <th>db_Neo4j</th>\n",
       "      <th>db_Netezza</th>\n",
       "      <th>db_Oracle</th>\n",
       "      <th>db_PostgreSQL</th>\n",
       "      <th>db_Redis</th>\n",
       "      <th>db_Riak</th>\n",
       "      <th>db_SAP_HANA</th>\n",
       "      <th>db_SQL_Server</th>\n",
       "      <th>db_SQLite</th>\n",
       "      <th>db_Solr</th>\n",
       "      <th>db_Splunk</th>\n",
       "      <th>db_Sybase</th>\n",
       "      <th>db_Teradata</th>\n",
       "      <th>db_dBase</th>\n",
       "      <th>edu</th>\n",
       "      <th>english</th>\n",
       "      <th>experience</th>\n",
       "      <th>expert_adas</th>\n",
       "      <th>expert_blockchain</th>\n",
       "      <th>expert_embed</th>\n",
       "      <th>expert_expert</th>\n",
       "      <th>expert_gis</th>\n",
       "      <th>_996_yes</th>\n",
       "      <th>_996_no</th>\n",
       "      <th>industry</th>\n",
       "      <th>japanese</th>\n",
       "      <th>job_description</th>\n",
       "      <th>job_summary</th>\n",
       "      <th>job_tags</th>\n",
       "      <th>phone_android</th>\n",
       "      <th>phone_app</th>\n",
       "      <th>phone_iso</th>\n",
       "      <th>pl_c_sharp</th>\n",
       "      <th>pl_cpp</th>\n",
       "      <th>pl_delphi</th>\n",
       "      <th>pl_go</th>\n",
       "      <th>pl_haskell</th>\n",
       "      <th>pl_java</th>\n",
       "      <th>pl_javascript</th>\n",
       "      <th>pl_julia</th>\n",
       "      <th>pl_kotlin</th>\n",
       "      <th>pl_lua</th>\n",
       "      <th>pl_matlab</th>\n",
       "      <th>pl_objective_c</th>\n",
       "      <th>pl_perl</th>\n",
       "      <th>pl_php</th>\n",
       "      <th>pl_python</th>\n",
       "      <th>pl_ruby</th>\n",
       "      <th>pl_rust</th>\n",
       "      <th>pl_scrala</th>\n",
       "      <th>pl_swift</th>\n",
       "      <th>pl_typescript</th>\n",
       "      <th>pl_vba</th>\n",
       "      <th>pl_visual_basic</th>\n",
       "      <th>publish_date</th>\n",
       "      <th>published_on_weekend</th>\n",
       "      <th>tag_baby_care</th>\n",
       "      <th>tag_five_insurance</th>\n",
       "      <th>tag_flexible</th>\n",
       "      <th>tag_no_overtime</th>\n",
       "      <th>tag_rest_one_day</th>\n",
       "      <th>tag_rest_two_days</th>\n",
       "      <th>tag_stock</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>33239</td>\n",
       "      <td>118720034</td>\n",
       "      <td>17500</td>\n",
       "      <td>222</td>\n",
       "      <td>高级后台开发工程师/Java开发工程师（北京）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>营销实验室Convertlab（上海欣兆阳信息科技有限公司）为企业提供创新的数字营销平台DM...</td>\n",
       "      <td>50-150</td>\n",
       "      <td>上海欣兆阳信息科技有限公司</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【北京-朝阳区高级后台开发工程师/Java开发工程师（北京）_高级后台开发工程师/Java开...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>5_10</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>招聘职位：java    高级开发工程师       职位描述：      1、参与项目需求...</td>\n",
       "      <td>北京-朝阳区|8-9年经验|本科|招222人|11-22发布</td>\n",
       "      <td>五险一金,员工旅游,股票期权,绩效奖金,年终奖金,专业培训,定期体检,弹性工作</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-11-22</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>22582</td>\n",
       "      <td>116813374</td>\n",
       "      <td>12916</td>\n",
       "      <td>200</td>\n",
       "      <td>Java开发工程师（2020届）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>算法工程师</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>广州汇智通信技术有限公司</td>\n",
       "      <td>国企</td>\n",
       "      <td>【广州Java开发工程师（2020届）_Java开发工程师（2020届）招聘_广州汇智通信技...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>广州汇智通信技术有限公司                                  ...</td>\n",
       "      <td>广州|无工作经验|本科|招200人|11-28发布</td>\n",
       "      <td>五险一金,专业培训,定期体检,补充医疗保险,餐饮补贴,通讯补贴,绩效奖金</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-11-28</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>22156</td>\n",
       "      <td>116717167</td>\n",
       "      <td>10000</td>\n",
       "      <td>200</td>\n",
       "      <td>海外业务软件工程师（2020届）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>上海</td>\n",
       "      <td>上海</td>\n",
       "      <td>上海海隆软件有限公司成立于1989年4月，是国内著名软件企业、国家规划布局内重点软件企业。公...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>上海海隆软件有限公司</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【上海-徐汇区海外业务软件工程师（2020届）_海外业务软件工程师（2020届）招聘_上海海...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>True</td>\n",
       "      <td>针对有志从事软件开发的应届毕业生，在毕业后可选择进入公司培训中心，接受脱产带薪培训，培训内容...</td>\n",
       "      <td>上海-徐汇区|无工作经验|本科|招200人|12-01发布</td>\n",
       "      <td>五险一金,专业培训,员工旅游,年终奖金,弹性工作,定期体检,出国机会,绩效奖金,工作午餐,加薪晋升</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-12-01</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14844</td>\n",
       "      <td>114568087</td>\n",
       "      <td>3750</td>\n",
       "      <td>151</td>\n",
       "      <td>C#软件开发工程师（雄安新区岗位）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...</td>\n",
       "      <td>50-150</td>\n",
       "      <td>北京其然科技有限公司</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【北京-海淀区C#软件开发工程师（雄安新区岗位）_C#软件开发工程师（雄安新区岗位）招聘_北...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>大专</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>熟悉面向对象思想熟悉.Net架构体系精通C#开发语言熟悉WinFrom开发熟悉Asp.Net...</td>\n",
       "      <td>北京-海淀区|无工作经验|大专|招151人|12-01发布</td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-12-01</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4658</td>\n",
       "      <td>108834444</td>\n",
       "      <td>15000</td>\n",
       "      <td>150</td>\n",
       "      <td>Java开发工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...</td>\n",
       "      <td>5000-10000</td>\n",
       "      <td>大连华信计算机技术股份有限公司</td>\n",
       "      <td>合资</td>\n",
       "      <td>【北京-朝阳区Java开发工程师_Java开发工程师招聘_大连华信计算机技术股份有限公司】-...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>5_10</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>1、5年以上java开发工作经验。2、有丰富研发经验；深入理解SpringCloud、spr...</td>\n",
       "      <td>北京-朝阳区|5-7年经验|本科|招150人|11-29发布</td>\n",
       "      <td>五险一金,补充医疗保险,定期体检,年终奖金</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-11-29</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          job_id  monthly_salary  headcount                    title  \\\n",
       "33239  118720034           17500        222  高级后台开发工程师/Java开发工程师（北京）   \n",
       "22582  116813374           12916        200         Java开发工程师（2020届）   \n",
       "22156  116717167           10000        200         海外业务软件工程师（2020届）   \n",
       "14844  114568087            3750        151        C#软件开发工程师（雄安新区岗位）   \n",
       "4658   108834444           15000        150                Java开发工程师   \n",
       "\n",
       "      zhinengleibie career real_province province city  \\\n",
       "33239         软件工程师  一般程序员          None       北京   北京   \n",
       "22582         软件工程师  算法工程师          None       广东   广州   \n",
       "22156         软件工程师  一般程序员          None       上海   上海   \n",
       "14844         软件工程师  一般程序员          None       北京   北京   \n",
       "4658          软件工程师  一般程序员          None       北京   北京   \n",
       "\n",
       "                                     company_description company_size  \\\n",
       "33239  营销实验室Convertlab（上海欣兆阳信息科技有限公司）为企业提供创新的数字营销平台DM...       50-150   \n",
       "22582  广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...    1000-5000   \n",
       "22156  上海海隆软件有限公司成立于1989年4月，是国内著名软件企业、国家规划布局内重点软件企业。公...    1000-5000   \n",
       "14844  北京其然科技有限公司，名字源于，顺 其其自 然然，主旨顺其自然、水到渠成。北京其然科技有限公...       50-150   \n",
       "4658   大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...   5000-10000   \n",
       "\n",
       "         company_title company_type  \\\n",
       "33239    上海欣兆阳信息科技有限公司         民营公司   \n",
       "22582     广州汇智通信技术有限公司           国企   \n",
       "22156       上海海隆软件有限公司         民营公司   \n",
       "14844       北京其然科技有限公司         民营公司   \n",
       "4658   大连华信计算机技术股份有限公司           合资   \n",
       "\n",
       "                                              page_title  ageism  \\\n",
       "33239  【北京-朝阳区高级后台开发工程师/Java开发工程师（北京）_高级后台开发工程师/Java开...   False   \n",
       "22582  【广州Java开发工程师（2020届）_Java开发工程师（2020届）招聘_广州汇智通信技...   False   \n",
       "22156  【上海-徐汇区海外业务软件工程师（2020届）_海外业务软件工程师（2020届）招聘_上海海...   False   \n",
       "14844  【北京-海淀区C#软件开发工程师（雄安新区岗位）_C#软件开发工程师（雄安新区岗位）招聘_北...   False   \n",
       "4658   【北京-朝阳区Java开发工程师_Java开发工程师招聘_大连华信计算机技术股份有限公司】-...   False   \n",
       "\n",
       "       db_Apache_Hive  db_CouchBase  db_CouchDB  db_DB2  db_DynamoDB  \\\n",
       "33239           False         False       False   False        False   \n",
       "22582           False         False       False   False        False   \n",
       "22156           False         False       False   False        False   \n",
       "14844           False         False       False   False        False   \n",
       "4658            False         False       False   False        False   \n",
       "\n",
       "       db_Elasticsearch  db_FileMaker  db_Firebase  db_Firebird  db_Hbase  \\\n",
       "33239             False         False        False        False      True   \n",
       "22582             False         False        False        False     False   \n",
       "22156             False         False        False        False     False   \n",
       "14844             False         False        False        False     False   \n",
       "4658              False         False        False        False     False   \n",
       "\n",
       "       db_Informix  db_Ingres  db_MariaDB  db_Memcached  db_MongoDB  db_MySQL  \\\n",
       "33239        False      False       False         False       False      True   \n",
       "22582        False      False       False         False       False     False   \n",
       "22156        False      False       False         False       False     False   \n",
       "14844        False      False       False         False       False     False   \n",
       "4658         False      False       False         False       False      True   \n",
       "\n",
       "       db_Neo4j  db_Netezza  db_Oracle  db_PostgreSQL  db_Redis  db_Riak  \\\n",
       "33239     False       False       True          False      True    False   \n",
       "22582     False       False      False          False     False    False   \n",
       "22156     False       False       True          False     False    False   \n",
       "14844     False       False      False          False     False    False   \n",
       "4658      False       False       True          False     False    False   \n",
       "\n",
       "       db_SAP_HANA  db_SQL_Server  db_SQLite  db_Solr  db_Splunk  db_Sybase  \\\n",
       "33239        False          False      False    False      False      False   \n",
       "22582        False          False      False    False      False      False   \n",
       "22156        False          False      False    False      False      False   \n",
       "14844        False          False      False    False      False      False   \n",
       "4658         False          False      False    False      False      False   \n",
       "\n",
       "       db_Teradata  db_dBase edu  english experience  expert_adas  \\\n",
       "33239        False     False  本科    False       5_10        False   \n",
       "22582        False     False  本科    False         no        False   \n",
       "22156        False     False  本科    False         no        False   \n",
       "14844        False     False  大专    False         no        False   \n",
       "4658         False     False  本科    False       5_10        False   \n",
       "\n",
       "       expert_blockchain  expert_embed  expert_expert  expert_gis  _996_yes  \\\n",
       "33239              False         False          False       False     False   \n",
       "22582              False         False          False       False     False   \n",
       "22156              False         False          False       False      True   \n",
       "14844              False         False          False       False      True   \n",
       "4658               False         False          False       False     False   \n",
       "\n",
       "       _996_no  industry  japanese  \\\n",
       "33239    False  computer     False   \n",
       "22582    False  computer     False   \n",
       "22156    False  computer      True   \n",
       "14844    False  computer     False   \n",
       "4658     False  computer     False   \n",
       "\n",
       "                                         job_description  \\\n",
       "33239  招聘职位：java    高级开发工程师       职位描述：      1、参与项目需求...   \n",
       "22582  广州汇智通信技术有限公司                                  ...   \n",
       "22156  针对有志从事软件开发的应届毕业生，在毕业后可选择进入公司培训中心，接受脱产带薪培训，培训内容...   \n",
       "14844  熟悉面向对象思想熟悉.Net架构体系精通C#开发语言熟悉WinFrom开发熟悉Asp.Net...   \n",
       "4658   1、5年以上java开发工作经验。2、有丰富研发经验；深入理解SpringCloud、spr...   \n",
       "\n",
       "                          job_summary  \\\n",
       "33239  北京-朝阳区|8-9年经验|本科|招222人|11-22发布   \n",
       "22582       广州|无工作经验|本科|招200人|11-28发布   \n",
       "22156   上海-徐汇区|无工作经验|本科|招200人|12-01发布   \n",
       "14844   北京-海淀区|无工作经验|大专|招151人|12-01发布   \n",
       "4658   北京-朝阳区|5-7年经验|本科|招150人|11-29发布   \n",
       "\n",
       "                                                job_tags  phone_android  \\\n",
       "33239            五险一金,员工旅游,股票期权,绩效奖金,年终奖金,专业培训,定期体检,弹性工作          False   \n",
       "22582               五险一金,专业培训,定期体检,补充医疗保险,餐饮补贴,通讯补贴,绩效奖金          False   \n",
       "22156  五险一金,专业培训,员工旅游,年终奖金,弹性工作,定期体检,出国机会,绩效奖金,工作午餐,加薪晋升          False   \n",
       "14844                                                             False   \n",
       "4658                               五险一金,补充医疗保险,定期体检,年终奖金          False   \n",
       "\n",
       "       phone_app  phone_iso  pl_c_sharp  pl_cpp  pl_delphi  pl_go  pl_haskell  \\\n",
       "33239      False      False       False   False      False  False       False   \n",
       "22582       True       True        True    True      False  False       False   \n",
       "22156      False      False        True    True      False  False       False   \n",
       "14844      False      False        True   False      False  False       False   \n",
       "4658       False      False       False   False      False   True       False   \n",
       "\n",
       "       pl_java  pl_javascript  pl_julia  pl_kotlin  pl_lua  pl_matlab  \\\n",
       "33239     True          False     False      False   False      False   \n",
       "22582     True          False     False      False   False      False   \n",
       "22156     True          False     False      False   False      False   \n",
       "14844    False           True     False      False   False      False   \n",
       "4658      True          False     False      False   False      False   \n",
       "\n",
       "       pl_objective_c  pl_perl  pl_php  pl_python  pl_ruby  pl_rust  \\\n",
       "33239           False    False   False      False    False    False   \n",
       "22582           False    False   False      False    False    False   \n",
       "22156           False    False   False       True    False    False   \n",
       "14844           False    False   False      False    False    False   \n",
       "4658            False    False   False       True    False    False   \n",
       "\n",
       "       pl_scrala  pl_swift  pl_typescript  pl_vba  pl_visual_basic  \\\n",
       "33239      False     False          False   False            False   \n",
       "22582      False     False          False   False            False   \n",
       "22156      False     False          False   False            False   \n",
       "14844      False     False          False   False            False   \n",
       "4658       False     False          False   False            False   \n",
       "\n",
       "      publish_date  published_on_weekend  tag_baby_care  tag_five_insurance  \\\n",
       "33239   2019-11-22                 False          False                True   \n",
       "22582   2019-11-28                 False          False                True   \n",
       "22156   2019-12-01                  True          False                True   \n",
       "14844   2019-12-01                  True          False               False   \n",
       "4658    2019-11-29                 False          False                True   \n",
       "\n",
       "       tag_flexible  tag_no_overtime  tag_rest_one_day  tag_rest_two_days  \\\n",
       "33239          True            False             False              False   \n",
       "22582         False            False             False              False   \n",
       "22156          True            False             False              False   \n",
       "14844         False            False             False              False   \n",
       "4658          False            False             False              False   \n",
       "\n",
       "       tag_stock  \n",
       "33239       True  \n",
       "22582      False  \n",
       "22156      False  \n",
       "14844      False  \n",
       "4658       False  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.options.display.max_columns=100\n",
    "data.sort_values(by='headcount', ascending=False).head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "131531"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 城市"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "headcount_by_cities = data.groupby(by='city').headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "city\n",
       "上海    44024\n",
       "北京    24560\n",
       "广州    27284\n",
       "深圳    35663\n",
       "Name: headcount, dtype: int64"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "headcount_by_cities\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(headcount_by_cities.values, labels=headcount_by_cities.index, autopct='%1.1f%%')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f8f66c38_176c_11ea_a08a_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >city</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow0_col0\" class=\"data row0 col0\" >北京</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow0_col1\" class=\"data row0 col1\" >17947</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow0_col2\" class=\"data row0 col2\" >3750</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow0_col3\" class=\"data row0 col3\" >15000</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow0_col4\" class=\"data row0 col4\" >45000</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow0_col5\" class=\"data row0 col5\" >24560</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow0_col6\" class=\"data row0 col6\" >18.67%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow1_col0\" class=\"data row1 col0\" >上海</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow1_col1\" class=\"data row1 col1\" >16390</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow1_col2\" class=\"data row1 col2\" >5250</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow1_col4\" class=\"data row1 col4\" >37500</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow1_col5\" class=\"data row1 col5\" >44024</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow1_col6\" class=\"data row1 col6\" >33.47%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow2_col0\" class=\"data row2 col0\" >深圳</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow2_col1\" class=\"data row2 col1\" >16295</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow2_col5\" class=\"data row2 col5\" >35663</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow2_col6\" class=\"data row2 col6\" >27.11%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow3_col0\" class=\"data row3 col0\" >广州</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow3_col1\" class=\"data row3 col1\" >13740</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow3_col2\" class=\"data row3 col2\" >3750</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow3_col4\" class=\"data row3 col4\" >30000</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow3_col5\" class=\"data row3 col5\" >27284</td>\n",
       "                        <td id=\"T_f8f66c38_176c_11ea_a08a_701ce71031efrow3_col6\" class=\"data row3 col6\" >20.74%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2b52a4ee148>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_pl=get_sub_stats_by_col(data,'city')\n",
    "apply_style(data_pl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_beijing=data[data.city=='北京'].monthly_salary\n",
    "salary_shanghai=data[data.city=='上海'].monthly_salary\n",
    "salary_guangzhou=data[data.city=='广州'].monthly_salary\n",
    "salary_shenzhen=data[data.city=='深圳'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=98.14216217137655, pvalue=4.383192228767276e-23)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_beijing, salary_shanghai)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=48.93970279660718, pvalue=2.703616557228817e-12)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_shanghai, salary_shenzhen)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=600.0482774731956, pvalue=1.134646634561925e-130)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_shenzhen, salary_guangzhou)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 编程语言"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f91517e4_176c_11ea_add0_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >rank</th>        <th class=\"col_heading level0 col1\" >pl_</th>        <th class=\"col_heading level0 col2\" >salary_mean</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_min</th>        <th class=\"col_heading level0 col5\" >salary_95_max</th>        <th class=\"col_heading level0 col6\" >head_count</th>        <th class=\"col_heading level0 col7\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow0_col0\" class=\"data row0 col0\" >1</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow0_col1\" class=\"data row0 col1\" >rust</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow0_col2\" class=\"data row0 col2\" >26991</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow0_col3\" class=\"data row0 col3\" >28333</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow0_col4\" class=\"data row0 col4\" >9000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow0_col5\" class=\"data row0 col5\" >59050</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow0_col6\" class=\"data row0 col6\" >214</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow0_col7\" class=\"data row0 col7\" >0.12%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow1_col0\" class=\"data row1 col0\" >2</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow1_col1\" class=\"data row1 col1\" >python</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow1_col2\" class=\"data row1 col2\" >20326</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow1_col3\" class=\"data row1 col3\" >17500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow1_col4\" class=\"data row1 col4\" >5250</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow1_col5\" class=\"data row1 col5\" >45000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow1_col6\" class=\"data row1 col6\" >16790</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow1_col7\" class=\"data row1 col7\" >9.20%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow2_col0\" class=\"data row2 col0\" >3</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow2_col1\" class=\"data row2 col1\" >go</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow2_col2\" class=\"data row2 col2\" >20287</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow2_col3\" class=\"data row2 col3\" >17500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow2_col4\" class=\"data row2 col4\" >7000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow2_col5\" class=\"data row2 col5\" >45000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow2_col6\" class=\"data row2 col6\" >16122</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow2_col7\" class=\"data row2 col7\" >8.83%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow3_col0\" class=\"data row3 col0\" >4</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow3_col1\" class=\"data row3 col1\" >matlab</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow3_col2\" class=\"data row3 col2\" >19809</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow3_col3\" class=\"data row3 col3\" >17500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow3_col4\" class=\"data row3 col4\" >5250</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow3_col5\" class=\"data row3 col5\" >44469</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow3_col6\" class=\"data row3 col6\" >2734</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow3_col7\" class=\"data row3 col7\" >1.50%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow4_col0\" class=\"data row4 col0\" >5</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow4_col1\" class=\"data row4 col1\" >lua</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow4_col2\" class=\"data row4 col2\" >19723</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow4_col3\" class=\"data row4 col3\" >17500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow4_col4\" class=\"data row4 col4\" >6286</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow4_col5\" class=\"data row4 col5\" >40000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow4_col6\" class=\"data row4 col6\" >1780</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow4_col7\" class=\"data row4 col7\" >0.98%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow5_col0\" class=\"data row5 col0\" >6</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow5_col1\" class=\"data row5 col1\" >typescript</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow5_col2\" class=\"data row5 col2\" >19128</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow5_col3\" class=\"data row5 col3\" >22500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow5_col4\" class=\"data row5 col4\" >7459</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow5_col5\" class=\"data row5 col5\" >32500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow5_col6\" class=\"data row5 col6\" >862</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow5_col7\" class=\"data row5 col7\" >0.47%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow6_col0\" class=\"data row6 col0\" >7</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow6_col1\" class=\"data row6 col1\" >ruby</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow6_col2\" class=\"data row6 col2\" >18682</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow6_col3\" class=\"data row6 col3\" >17500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow6_col4\" class=\"data row6 col4\" >3889</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow6_col5\" class=\"data row6 col5\" >37500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow6_col6\" class=\"data row6 col6\" >578</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow6_col7\" class=\"data row6 col7\" >0.32%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow7_col0\" class=\"data row7 col0\" >8</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow7_col1\" class=\"data row7 col1\" >kotlin</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow7_col2\" class=\"data row7 col2\" >18641</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow7_col3\" class=\"data row7 col3\" >17500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow7_col4\" class=\"data row7 col4\" >7000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow7_col5\" class=\"data row7 col5\" >38475</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow7_col6\" class=\"data row7 col6\" >761</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow7_col7\" class=\"data row7 col7\" >0.42%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow8_col0\" class=\"data row8 col0\" >9</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow8_col1\" class=\"data row8 col1\" >cpp</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow8_col2\" class=\"data row8 col2\" >18244</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow8_col3\" class=\"data row8 col3\" >16000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow8_col4\" class=\"data row8 col4\" >5250</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow8_col5\" class=\"data row8 col5\" >40000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow8_col6\" class=\"data row8 col6\" >30878</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow8_col7\" class=\"data row8 col7\" >16.91%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow9_col0\" class=\"data row9 col0\" >10</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow9_col1\" class=\"data row9 col1\" >perl</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow9_col2\" class=\"data row9 col2\" >18229</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow9_col3\" class=\"data row9 col3\" >16500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow9_col4\" class=\"data row9 col4\" >5000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow9_col5\" class=\"data row9 col5\" >45000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow9_col6\" class=\"data row9 col6\" >1351</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow9_col7\" class=\"data row9 col7\" >0.74%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow10_col0\" class=\"data row10 col0\" >11</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow10_col1\" class=\"data row10 col1\" >haskell</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow10_col2\" class=\"data row10 col2\" >18061</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow10_col3\" class=\"data row10 col3\" >17786</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow10_col4\" class=\"data row10 col4\" >7500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow10_col5\" class=\"data row10 col5\" >27000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow10_col6\" class=\"data row10 col6\" >49</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow10_col7\" class=\"data row10 col7\" >0.03%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow11_col0\" class=\"data row11 col0\" >12</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow11_col1\" class=\"data row11 col1\" >swift</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow11_col2\" class=\"data row11 col2\" >17063</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow11_col3\" class=\"data row11 col3\" >15000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow11_col4\" class=\"data row11 col4\" >6000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow11_col5\" class=\"data row11 col5\" >37500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow11_col6\" class=\"data row11 col6\" >1843</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow11_col7\" class=\"data row11 col7\" >1.01%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow12_col0\" class=\"data row12 col0\" >13</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow12_col1\" class=\"data row12 col1\" >java</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow12_col2\" class=\"data row12 col2\" >16013</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow12_col3\" class=\"data row12 col3\" >14000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow12_col4\" class=\"data row12 col4\" >5250</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow12_col5\" class=\"data row12 col5\" >37500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow12_col6\" class=\"data row12 col6\" >59105</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow12_col7\" class=\"data row12 col7\" >32.38%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow13_col0\" class=\"data row13 col0\" >14</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow13_col1\" class=\"data row13 col1\" >objective_c</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow13_col2\" class=\"data row13 col2\" >15725</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow13_col3\" class=\"data row13 col3\" >15000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow13_col4\" class=\"data row13 col4\" >4829</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow13_col5\" class=\"data row13 col5\" >39583</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow13_col6\" class=\"data row13 col6\" >192</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow13_col7\" class=\"data row13 col7\" >0.11%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow14_col0\" class=\"data row14 col0\" >15</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow14_col1\" class=\"data row14 col1\" >php</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow14_col2\" class=\"data row14 col2\" >15602</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow14_col3\" class=\"data row14 col3\" >12500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow14_col4\" class=\"data row14 col4\" >4000</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow14_col5\" class=\"data row14 col5\" >37500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow14_col6\" class=\"data row14 col6\" >8109</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow14_col7\" class=\"data row14 col7\" >4.44%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow15_col0\" class=\"data row15 col0\" >16</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow15_col1\" class=\"data row15 col1\" >visual_basic</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow15_col2\" class=\"data row15 col2\" >14781</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow15_col3\" class=\"data row15 col3\" >14583</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow15_col4\" class=\"data row15 col4\" >6250</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow15_col5\" class=\"data row15 col5\" >22500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow15_col6\" class=\"data row15 col6\" >19</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow15_col7\" class=\"data row15 col7\" >0.01%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow16_col0\" class=\"data row16 col0\" >17</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow16_col1\" class=\"data row16 col1\" >javascript</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow16_col2\" class=\"data row16 col2\" >13888</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow16_col3\" class=\"data row16 col3\" >12500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow16_col4\" class=\"data row16 col4\" >4250</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow16_col5\" class=\"data row16 col5\" >29166</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow16_col6\" class=\"data row16 col6\" >20908</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow16_col7\" class=\"data row16 col7\" >11.45%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow17_col0\" class=\"data row17 col0\" >18</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow17_col1\" class=\"data row17 col1\" >c_sharp</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow17_col2\" class=\"data row17 col2\" >13420</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow17_col3\" class=\"data row17 col3\" >12500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow17_col4\" class=\"data row17 col4\" >4500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow17_col5\" class=\"data row17 col5\" >27500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow17_col6\" class=\"data row17 col6\" >19536</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow17_col7\" class=\"data row17 col7\" >10.70%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow18_col0\" class=\"data row18 col0\" >19</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow18_col1\" class=\"data row18 col1\" >delphi</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow18_col2\" class=\"data row18 col2\" >12793</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow18_col3\" class=\"data row18 col3\" >12500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow18_col4\" class=\"data row18 col4\" >5333</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow18_col5\" class=\"data row18 col5\" >22875</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow18_col6\" class=\"data row18 col6\" >460</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow18_col7\" class=\"data row18 col7\" >0.25%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow19_col0\" class=\"data row19 col0\" >20</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow19_col1\" class=\"data row19 col1\" >vba</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow19_col2\" class=\"data row19 col2\" >11704</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow19_col3\" class=\"data row19 col3\" >11056</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow19_col4\" class=\"data row19 col4\" >5469</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow19_col5\" class=\"data row19 col5\" >22500</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow19_col6\" class=\"data row19 col6\" >267</td>\n",
       "                        <td id=\"T_f91517e4_176c_11ea_add0_701ce71031efrow19_col7\" class=\"data row19 col7\" >0.15%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2b5387c79c8>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_pl=get_sub_stats_by_prefix(data,'pl_')\n",
    "apply_style(data_pl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据显示，haskell才是最赚钱的编程语言。python是主流语言里面最赚钱的，比java的工资多了3000元！vb是最不赚钱的了。其中，最赚钱的编程语言和最不赚钱的，工资居然差了2倍。所以，要选好编程语言呀！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 教育"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "edu_counts=data[~(data.edu=='')].groupby(by=['edu']).headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "edu\n",
       "初中及以下       11\n",
       "博士         255\n",
       "大专       32841\n",
       "本科       73949\n",
       "硕士        4258\n",
       "高中         169\n",
       "Name: headcount, dtype: int64"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "edu_counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdkAAAHBCAYAAAAlwsH0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3dd3xc1YH28d+ZGXW5W5IN7nWuzVBsY4caA0nAhBJIeVNfE5JsEkjZFJZs3pBCymYDKZtNIWyakhCyJAESSAKhk9BNswx3jAtu2JKrXNSlOe8fd4yFkbEszdWZufN8Px99pJGmPKLomXPvuecYay0iIiKSezHXAURERKJKJSsiIhISlayIiEhIVLIiIiIhUcmKiIiERCUrIiISEpWsiIhISFSyIiIiIVHJioiIhEQlKyIiEhKVrIiISEhUsiIiIiFRyYqIiIREJSsiIhISlayIiEhIVLIiIiIhUcmKiIiERCUrIiISEpWsiIhISFSyIiIiIVHJioiIhEQlKyIiEhKVrIiISEhUsiIiIiFRyYqIiIREJSsiIhISlayIiEhIVLIiIiIhUcmKiIiERCUrIiISEpWsiIhISFSyIiIiIVHJioiIhEQlKyIiEhKVrIiISEhUsiIiIiFRyYqIiIREJSsiIhISlayIiEhIVLIiIiIhUcmKiIiERCUrIiISEpWsiIhISFSyIiIiIVHJioiIhEQlKyIiEhKVrIiISEhUsiIiIiFRyYqIiIQk4TqASBSk6lMGGAGMzH6MOujr4UAJYAje3B7qM0ALsLfXx54+bu9pWNqwZwh+NREZBGOtdZ1BJK+l6lMlwERgcvZjSq+vJwFjCEp0qI8MtQKbDvGxEdjUsLRh+xBnEpFeVLIiWan61DjgOOBYIAVMIyjSoyjcUyttwCrAP+hjZcPShk6XwUSKgUpWik6qPlUGzCEo02MJijUF1LrMNcS6gJXA8uzHs8BjDUsbdjlNJRIxKlmJvFR9qg44PftxKnAMmo/QF0swyn0YeAh4qGFpwyq3kUQKm0pWIidVn5rCgVI9HZjpNFBh2wo8QrZ0gScbljZ0uI0kUjhUslLwsiPVJcAbgNMIJiNJOFqB+4C/AH9pWNqwwXEekbymkpWC4yc9845/T8wDzst+zCe4BEaG3nPAXwlK96GGpQ3djvOI5BWVrBQEP+klgMXARcCFV78r1rxiSmyu21RykN3A3wlK97aGpQ07HOcRcU4lK3nLT3olBIeB30YwYh21/2fLZpgHvvX2+OtdZZPD6gLuBG4A/tywtKHVcR4RJ1Syknf8pHcs8H7gPUBNX/fpSLDqfVckNKGpMOwDbiUo3Lsaljb0OM4jMmRUspIX/KQ3hqBULwFO6M9jPvHh+MbG0WZimLkk57YC/wvc0LC04THXYUTCppIVZ7LnWZcQFOt5QOmRPP5v882Dv3hT/PQQosnQWAVcB/y8YWlDs+swImFQycqQ85PedOAjwHuBcQN9nt2VPP2hTyb6NeqVvNZKcCj5Bw1LG5a7DiOSSypZGTJ+0jsJuAK4kBysBWyh+9J/jbe0VJgRgw4n+eIfwA+Am3U5kESBSlZC5Se9GEGpfhY4OdfP/6szYw/fviiW8+cV5zYDPwF+0rC0ocl1mDAYY8qBTmttxnUWCY9KVkLhJ70KgnOtnyLEZQ1fGsPDn/qXhEo2ujqBeuAbDUsb1jnO0m/GmPcCu6y1f3mN+3wP+LO19t6hSyZDTSUrOeUnvRrgY8BlwNiwX8/C7nddGa/KxIwW/I+2buA3wNcbljasdh3mcIwxnwfWWWt/e9D33wt8iGAzhuOABiADxIEfWmt/N9RZJVwqWckJP+nVAV8APgiUD+VrX3tx7JnHZ8eOH8rXFGd6gBuBrzUsbVjpOsx+xpg4UGatbc3evgp4xlp7mzEmBlQC7QTlmgHqgB9bay/K3j9G8PdY1xBHjEpWBsVPesMJJjN9CqhykWHFJPPg1e/RpTxFJgPcBHy1YWnD867DGGOmE8yQ3j9ZayrQQnBdMEAZcBtwDsEh8DqC7RZf6vU0pcBXrLV3DkVmGRoqWRkQP+mVAZcDnwfGuMzSHWPDu69MaOed4mSBPwL/r2Fpwwuuw+xnjLkH2GCtfX8fP4sRzKJ+q7W2ccjDyZAa9GUUUlz8pBfzk94lwAvAt3FcsACJDJOmNtq8P08noTAEa1uvSNWnvpeqT4063ANCD2TMHIJR7GhjzOw+7jIMKAF+Z4y53xjTYIzpMMZMHdKgMiQ0kpV+85PehcDXgbzb/eaBY8wDPzxfGwYIO4GrgR81LG3oGuoXN8aUAXcA/0pwDvZ6YMn+c7W97jcdeJGgbP8GfE2zjKNJI1k5LD/pneQnvYcIFnnPu4IFWLDKOh9RS14YDXyPYGR7wVC+sDEmSbDzUL219llr7UrgR8BdxpiDL2N7D/A0cB9wiwo2ujSSlUPyk94o4D8JZgzn9aboFjIf/nh8R3O16XPXHila9wKfblja8GyYL2KMeQ/wDeDD1to7DvrZhcB/A6dZa9f3+n458FaCJUYvs9Y2hJlR3FDJSp/8pPce4DtAress/fWHU8w/bzo9fqrrHJJ3MsDPgCsbljbsCuMFjDElQIW1ds8hfl5lrW0J47Ulv+lwsbyCn/Rm+knvboIL/wumYAFe32CPaBcfKRoxggUgnk/Vp94WxgtYa7sOVbDZn6tgi5RGsgK8fEnO54B/J7imr+BYaH3vFfFYV8IM6WIYUnBuBS5vWNqw2XUQiT6NZAU/6Z0BPAt8mQItWAADlSc/r/NaclhvIRjVfihVn8rruQZS+FSyRcxPeqP8pFdPMDmkr+v5Cs7ZT2XaXWeQgjCC4PKae1P1qRmuw0h06XBxkfKT3uuBXwMTXWfJpYyh6Z1XxmsxRiMU6a92gqM41zYsbdDawZJTGskWGT/pJfyk9w2C0WukChYgZqmbu8H6rnNIQSkHvgn8I1Wf0qpLklMq2SLiJ70ZwMMEk5si++9+yRN2m+sMUpBOAp5J1afe6zqIREdk/9DKK/lJ7/0EK8yc6DpL2I570Y53nUEK1nDg16n61A2p+tRw12Gk8KlkI85PeiP9pHcT8HOg2nWeoVDWzay6XXaT6xxS0N4NPJWqT813HUQKm0o2wrKTm5YDb3edZaidsyyz1nUGKXjTgYdT9alPuA4ihUslG1F+0vs8EZ3c1B+nPG+LYtQuoSsF/itVn7o5VZ8a6TqMFB5dwhMxftKrIDg0/E7XWVyy0HXJp+JtbeVG59UkV14ALmhY2rDSdRApHBrJRoif9CYC/6TICxbAQMniBvuc6xwSKbOAx1L1qXNcB5HCoZKNCD/pnQI8AcxznSVfvOGZjA7TSK6NAG5P1ac+4zqIFAYdLo4AP+l9gGBzaO1C04uF5nddGa/OxEzCdRaJpF8CH2lY2tDhOojkL41kC1h29abvAz9FBfsqBkbOW61DxhKaS4D7UvWpca6DSP5SyRYoP+mNBu4APu46Sz5bssw2u84gkXYS8ESqPqXTNNInlWwB8pPedOBx4CzXWfKdt9FOcZ1BIm8C8M9Ufep810Ek/6hkC4yf9FIEM4inu85SCBIZJk9usmtc55DIqwBuTtWn3uc6iOQXlWwB8ZPe64AHAJ0DOgLnLstoiUUZCgmgPlWf+lfXQSR/qGQLhJ/03gDcDYxynaXQLFxpR7vOIEXDAN9N1ae+6jqI5AddwlMA/KR3MXAjmkE8IBYy//KJ+M7dVWas6yxSVH4EfLxhaUPGdRBxRyPZPOcnvUuAm1DBDpiB2BuftmnXOaToXAbckKpPlbgOIu6oZPOYn/T+lWAd4rjrLIVu8fKM/tCJC+8E/pyqT1W6DiJuqGTzlJ/0rga+S3CORwapZjfHJLqtVuYRF84B/pqqT1W4DiJDTyWbh/yk903gKtc5osRA1Um+bXCdQ4rW64FbU/WpMtdBZGipZPOMn/S+BFzpOkcUnfNUps11BilqbwJu0jna4qKSzSN+0rsC+LLrHFE1bQsz0HR6cesCgslQmmdRJFSyecJPepcD33KdI8rilvHeRjTLWFx7O/CLVH1K8y2KgEo2D/hJbynw365zFIMlyzJNrjOIAO8DrnMdQsKnknXMT3rnE2xVp3e1Q+D4tXa86wwiWf+Sqk99z3UICZdK1iE/6Z1OsNCENhUfIuVdzK5ptptd5xDJ+mSqPvUV1yEkPCpZR/ykdzzwZ6DcdZZic86TmdWuM4j08sVUfWqp6xASDpWsA37Sm0yw4foI11mK0anP2SrXGUQOcn2qPrXYdQjJPZXsEPOTXhXwJ6DOdZZiNbKFVEWH3es6h0gvpQT70c52HURySyU7hPykZ4BfA8e5zlLMDJSe3mBXuM4hcpBRBMsv1rgOIrmjkh1aXwEuch1C4I3PZLT9mOSjaQTLL2quRkSoZIeIn/TegdYjzhsTtuHFMrbHdQ6RPpwM/FKLVUSDSnYI+ElvHvBL1znkgBiMPn6tfc51DpFD+D/A11yHkMFTyYbMT3rjCCY6aZurPLNkmd3lOoPIa/h8qj71VtchZHBUsiHyk14ZcAswwXUWebU56+1k1xlEDuPnqfrUTNchZOBUsuG6Hnid6xDSt5IMUyZutS+6ziHyGoYDv9dEqMKlkg2Jn/QuA/6v6xzy2s5dltngOoPIYRwH/MB1CBkYlWwI/KQ3F/i26xxyeItW2lGuM4j0wwe09GJhUsnmmJ/0yoEb0ZrEBaGqnbnDW+wO1zlE+uFHqfrUMa5DyJFRyebeNUDKdQjpHwPxNzxjtZG7FIJK4I+p+tQw10Gk/1SyOeQnvfOAj7nOIUdm8fJM3HUGkX6aRbD/tBQIlWyO+ElvPPAL1znkyNU1c0yi23a4ziHST+/Q+dnCoZLNgezC//XAWNdZ5MgZqF60UhsGSEH5r1R96mjXIeTwVLK58Vngja5DyMCd82SmxXUGkSMwAviZ6xByeCrZQfKT3nzg665zyODM2IxW1ZFCc3aqPvUh1yHktalkByG7bOINQInrLDI4ccv42Rs1y1gKzrdT9SktD5rHVLKD83lgtusQkhtLlmUaXWcQOULDCNY31rZ4eUolO0B+0ksCn3OdQ3LnhDV2nOsMIgNwJnCZ6xDSN5XsAGRnE/8EKHWdRXKnoovkmN12i+scIgPwn6n61HTXIeTVVLID837gdNchJPfOeTKz2nUGkQGoQotU5CWV7BHyk14NwdKJEkGnPWcrXGcQGaDFqfrUO12HkFdSyR65bwOjXYeQcIzaR6q80+5znUNkgK5N1aeqXIeQA1SyR8BPemcB73OdQ8JjoOy0FfY51zlEBuho4CrXIeQAlWw/Zbew+7HrHBK+Nz6d6XadQQI9bT30tPa4jlFoPpWqT81yHUICCdcBCsjnQasCFYNJW0kaazPWGL0J7aee1h42/ngjNmOJlcUY9/ZxbLlxC5n2DBVTKxj/rvF9Ps72WF644gVKaoL1XI5671F0buuk6Q9NTP7MZNpWtzFsvnZ2O0KlwPeBc1wHETDWWtcZ8p6f9CYBLwBlrrPI0PjGO2INz0yPaV/gftpxzw7K6sqoPqaazfWb2f34biZ/ajKVMyrZ8KMNjD5jNNVe9ase17aujd2P72bcOw5corz5V5upPrYa22GxPZaRJ48cyl8lSi5qWNpwq+sQxU7v1PvnalSwRWXJMrvTdYZCMuasMVQfE5Ro995uMh0ZyqeUA5AYliDTlunzca1rWtn7zF7WfGUNm362CdtjwYDttLS80ELl7Moh+x0i6Dup+lS56xDFTiV7GH7SOwZNdio6x6y3E11nKEStq1vpaemh5oIatt26jT1P72Hfin1Uzel7wmvF1Aqm/NsUpn9pOvTA3uV7GbFwBDvu3kFpbSmNv2uk+ZHmIf4tImMqcKXrEMVOJXt430T/nIpOSQ/TJmyz61znKCTd+7rZ/JvNHP2Bo6m9oJbqY6vZ9eAuRp4yknh5vM/HlE8sp2RkcD62YmoFnY2dVM2uYsKHJ1AyuoTSmlL2Pa8rqgbh31L1KS0X6pDK4zX4Se904M2uc4gbS5Zl1rvOUCgy3Rk2/nAj4942jtKxwWqj5ZPK6drRxdizxx7ycZuu30TbhjZsxrLnqT2UTwqObraubKVyZiUmbjBGa98PQiXwRdchiplK9rX9p+sA4s7r0lYzbvpp14O7aFvfxtbbtrL2P9ay+7HdbP/bdsacPYZYWfBnpv2ldpr+2PSKx9VeWMum6zex+ourqZxeSfXcamzGYkoNiREJWle3UjZB0yEG6YNa19gdzS4+BD/pXQz80XUOccdCzwc+Gd+zr9KMcp1FZJB+27C04T2uQxQjjWT74Ce9OPAN1znELQPxNzxjn3edQyQH3pWqTx3rOkQxUsn27QNoM3YBzlie0f8jEgUG+LLrEMVIf0AO4ie9CuBLrnNIfhi3i7mJHtvpOodIDrwlVZ863nWIYqOSfbVLgaNch5D8YGD4wpV2hescIjmg0awDKtlesudiP+06h+SXs5/M6EJNiYoLU/Wpea5DFBOV7Cu9FZjmOoTkl1kvocsfJEo+5zpAMVHJvtIVrgNI/olbjp7xkl3pOodIjlycqk9Ndh2iWKhks/yktxhY4DqH5Kdzl2UaXWcQyZE48EnXIYqFSvYAjWLlkOavtjWuM4jk0AdT9anhrkMUA5Us4Ce9ucAS1zkkf5V34o3ZYzWalagYBnzIdYhioJINXEEwvV2kTwbM2U9mVrnOIZJDn0jVp/reHklypuhL1k96RwPvdp1D8t9pz1ltgC1RMgl4m+sQUVf0JUswAaDEdQjJf6P3kirtsq2uc4jkkNYFCFlRl6yf9MrReQnpJwPlp63Q6k8SKQtT9alTXYeIsqIuWeBiQHuGSr+96emM1jGWqLnMdYAoK/aSfb/rAFJYJm9ltrE24zqHSA5dlKpPabARkqItWT/pTQbOdJ1DCkvMUpN6UXvMSqSUA+90HSKqirZkgUso7t9fBujcZXaH6wwiOaajeiEpypLxk54hKFmRI3bMOjvBdQaRHFuYqk/NcR0iioqyZIEzgCmuQ0hhKu1h+lE77HrXOURyTKPZEBRryV7qOoAUtiXLMutcZxDJsfel6lMJ1yGipuhK1k96Iwgu3REZsJN8O8J1BpEcq0NruOdc0ZUswSy6CtchpLANa+OY6jbb7DqHSI7pkHGOFWPJXuI6gBQ+A4kznrXPuc4hkmPnpepTY1yHiJKiKlk/6U0AXuc6h0TDWc9miur/HykKJcD5rkNESbH9kbjAdQCJjvE7mRPvsV2uc4jk2FtcB4iSYivZC10HkOgwMOLEVdowQCLnTan6VKXrEFFRNCXrJ73hwGLXOSRazlmW2es6g0iOVQBnuw4RFUVTsgRT00tdh5BomfUS01xnEAmBDhnnSDGVrA4VS84lMkyYvsWucp1DJMfO08IUuVEUJesnvRLgXNc5JJqWPJHZ7DqDSI6NBk53HSIKiqJkgdcDWqFHQrFglR3rOoNICHTIOAeKpWR16Y6EpqKTOaP22q2uc4jkmEo2B4qlZHU+VkJjwJz9VGal6xwiOTYxVZ86xnWIQhf5kvWT3rHAJNc5JNpOb7DlrjOIhOAM1wEKXeRLFjjLdQCJvjF7Oaa0y7a5ziGSY4tdByh0xVCyi10HkOgzUHHK87bBdQ6RHDs9VZ8yrkMUskiXrJ/0YsBprnNIcXjTU5lO1xlEcmwsoPOygxDpkgWOA0a5DiHFYWoTs7HWus4hkmM6LzsIUS/Zxa4DSPGIWWqOWW+fd51DJMcWuw5QyKJesqe6DiDFZckyu811BpEc03nZQYh6yZ7sOoAUl2NftEe7ziCSY2OAY12HKFSRLVk/6U0DxrnOIcWlrJuZ43baja5ziOTYYtcBClVkSxaNYsWRJcsyL7rOIJJjJ7oOUKhUsiI5drJvh7nOIJJjJ7gOUKiiXLInuQ4gxWl4K6mqNrvbdQ6RHJqdqk9VuA5RiCJZsn7SSwBzXOeQ4mQgsbjBPuc6h0gOxdHkpwGJZMkCM4FS1yGkeJ31TMZ1BJFc0yHjAYhqyWoZMHHq6B3MjWVst+scIjmkkh2AqJbsXNcBpLgZGLFglV3hOodIDqlkByCqJauRrDh3zjK7x3UGkRxKpepTCdchCk1US1YjWXEuuclOcZ1BJIfKgaTrEIUmciXrJ70yYIbrHCKJDJOmNto1rnOI5NDxrgMUmsiVLDAb0CENyQvnPpHZ5DqDSA7Nch2g0ESxZHU+VvLGglV2jOsMIjk01XWAQhPFktX5WMkblR3MGblP299JZExzHaDQqGRFQmQg9qanMitd5xDJEZXsEYpiyepwhuSV1zfYEtcZRHJknNYwPjJRLNmjXAcQ6W3sHlIl3bbddQ6RHNFA5ghEqmT9pFcKaKKJ5BUDlSc/bxtc5xDJEZXsEYhUyRKMYo3rECIHO/upjEayEhU6L3sEoliyInlnWiOzsNa6ziGSAyrZIxC1kj3adQCRvsQsdXM3WN91DpEcmOI6QCGJWslqJCt5a8kyu9V1BpEcqHUdoJBErWQ1kpW8ddxaqzeBEgWaXHoEolay+iMmeausm1l1u6zWMpZCp5I9AlErWY1kJa+dsyyz1nUGkUEalapP6SqOfopayWokK3ntlOdttesMIoMUB0a4DlEoolayOowheW1EK6mKdrvHdQ6RQdLf2n6KWslWug4g8loMlCxusM+5ziEySCrZfopMyfpJzwDlrnOIHM4bnsloUQopdCrZfopMyQIVaElFKQATtjMnlrHdrnOIDMJo1wEKRZRKVoeKpSAYGDlvtQ4ZS0HTSLafVLIiDixZZptdZxAZBO0p208qWREHvI12iusMIoNQFvYLGGMi0U8J1wFySO+spGAkMkye3GTXrq8z2tGkgHXv7iZeFcckim46SGmunsgY82Xg78Ca7PO+DSgBSowx/wQet9a29br/F4Bma+0P+niuEqDHWpvJVb7BisQ7hSyNZKWgnLsss9F1hmK36WebWPPVNWz9c997N/S09rDu2+t48ZoXWf/99WS6M+y4ewdrvrKGTEeG3Y/vHuLEeSNnJZv1HeDNwEeAs4HFQDVwLjDhoPueCiw6xPN8FPibMWaHMeaO7MdjxpjH+7qzMeZKY8wxvW5/whhzXPbreLa0+2SMKTHGxA/3i0VpJKuSlYKycKUd/eM3u05RvHYv203LyhYSwxLseXIPIxaOoGzcK4+CNj/SjLWWTHuGTGuGfQ37aH6kme493bSsbKFtQ9shnj3PBXsbd2c/eoAeA90m+Lz/dsZAT8zaHgOZWPZ7MUtmTE9PTn5xY8w0YAaQJijOiwlWk4oBJxKU+dPGmB3W2p3Zh/UAc40xH7TW/vSgX+v7wPeNMXdaa8/JvsaXgFUHve5/A/8J3A781hiz2Fq7CzgHeDR7t3OBq4wxndnbc4DVwP7bpcC/A/e81u+okhVxpLKDuSNa7PbdVWas6yxFw9r9xdK9676d5bY9E6PSZnr2dps9jzS3jH9L7S4DGWPJxLA9JcZWd2xor62oK23ft769qnRnx/rOLR0TyGD2/X37rvKKWPck270u3kkmgbVxi93/OY4lYSFhrU0ACWtJgE1Ya0qCrymxlhJrTcJCAmtKLKbEWhN8HdxOWBsrIfvZ2liJJZbAmoS18YQlVkL2s7XxBDYWt8QTwffiCWvjCUjErY3Fg8+JBCRiweWOJdmPgXgwR/9GFgLnE+TpAjYD24E64DnAAy4AfmmM6cg+pjJ7/+8bY76T/d77rbV/hGAESrD04/7Dx2cDXz/odScR/Kt5zhjzLeAzwBcItvFbB2CtvQ24bf8DjDG3Ax+x9sg2+YhSyeb68IVIqAzE3vi0Tf/hVHNqqC9kbQ+9Ri2mj5FLtlh6DDYTg55Y9nYMa2OQiUMmZm0mDjZmycQPFEnvYsnE2V8m1mYLplexQAJLibUkLKYES+JAkZiSV5ZMLBF8HRQLxBJBGcUS2KBQgq/j+7+O7y+W4HMiHhRMPG5tIg6JeDA6SmQ/mLihlaOGGx5bWho77sedjFuxc/idx3cM7/2PbvEDLfzL/DhnTjXVb95oWbJy55TfxywYmLCzbWxbF1zxj43jzpgapT+l/ZKTU43W2t8ZY5LARIIynZH9UQKYl32djwDHELwheAk4juDv/UagmWCE+SHgj9nHzgCONcYMAxYQ/Pf+nDHmi9ba/93/0r0y3NBrktUoa19732djzKjsqLdfovRfRufh7yKSXy58hHFHNydv314z3/SUjqs0NoMhYw0Za6y1hp5MDIuxPdaQsTEy1tgeYlgbsxlitodY8H1itif7OWNjtsfEyBCnh+Con81gMwYyWKw1NmOsyVisBazN3gdsBrBYgs/BzzPGYgFrsNZa7P7nMcGfqkzwM7JPhzXBfazBWoJKyn62FovN/kGzseDuFouJZbCmA14erhzK4ZfL6nMSkj34B9vb7nvdpNraxuvXzH2x0zzpPdXUXnH9moVP937MnszyWVvs+KaL/7B6WnlZlX2kqXpfWWlr5a62jrL1e+I9XT09sY/cWdb66TcueP6wsQb0Ox3ZhKqBLSV26Nc41PMl4rbpXwb0Wn2aDryLYAT7JNAGVBGU6GJgH8F/ZF3W2jcYY24jGOl+H/gn8DOCN5D7nQbcC3zNWvtJ4DRjzN0Eh4ZfwRhTCoy01m41xqQISvy11AB3GmMutdY+1p9fTiUr4lBZd2bGKQ0rZsAKOkqHb2uqnb9qa+387r3VUybaWGLq4R6fyX68Sl9/NwtgAmxwqtD2BG1vM8HXmUwwGrc2ezv4HBR+BjKZl+9vM9l3CplM9v4ZbGb//Wz2uYBMJpF41DZ3jKlqL7mooqV7ZRkmbtoS55X2uo+NlezI/OHpl6adMGXR1mUvPjOuumpGx9Rxo3b/ffkDU4ZVjmrfsmvr8MbdnVVt5sRMrzcoNniDkaHXG5jgs7XBz/a/Sen1Rob9b2SC75mXvz7ws/1vSmL7bx+4D/u/Dn5m99/GgI1nP8de+Zl49j6xAx92/9fZx7z8de/PBliRi3/fxpi3E0xk6iBY4GJY9nW6CEayCWA9QdFOyJbl/pHs5whGsl0HPe1S4P8AXzTGLCEo7AettS0H3a8EuJGgkH8IvB/4w2Eib5A0v+YAAB2zSURBVCM4b/wnY8wHrLUPHe53jFLJHu4NsEheK+vcUzNp0301kzbdB0B72agtTbUL1jbVzs+0VB011cbiB8+yjBxjDHDgnNqBHxzi/oN4rfGjZ7Bu29pRty67d8HW3duZWjeHvz37xMLzF1768n3iibvYsXcF9/mPVJeXVJExNVMWzrmUdTvaGF1dV765+U/E45UlJZVnvX4QUQpK8EboVcU2UE8SHOa9lGA/8D8Cs4GPERTlDIKS/R/g2308vhMYRTD6xRjzTiBtrd1sjPlX4E6CQj69j8f+Gqi31v7YGHMOsATYa4y5wVq741CBrbUrjTEXA6cAKlmRQlXesWv85I13jZ+88S4AWivGbmqqXbhua80JpqWqbhomPt5xxII2b/piGneuY2vzJmKxBDOPPp7OrvZX3Oei132YZ9c+SPLo+TQ2b+D8E98PwIiqscyaMI9HV/2dcaMmu4jvTPBGiJysvW2tXWuMyQDGWttsjJlFUIwzgbdwYMR8NsF7qmqgNft1efb2/wJ/NcacBHweeH121vJHgF0Eo88bjTG/BO6y1nYA0wguG/qDMeYq4AzgdcCZwF+MMWf1MfLtnft5oF+nCFSyIgWism37hKnr/zph6vq/AtBSOW59Y93CDdtqjou3VtTOxMRqHEcsKAtmnMmDK24FA9Xlw5k7aRFPr3ngFfd5Zu2DxGJxmpo3UllWzfMbn2DOpIXMnjCPyTWzqS4fwSneeY5+A6dyNZIF+A/gg8aYRQSHcKdz4DrYHxLMPr7aWvtpAGPM1QSzjv9srf31/ifJPv7dwGXAVOA31tp/y/5sAcEM4n3A/QRlug94GPg9sCRbvrcYY2qzjz/4kHgZA1jpymSH/gXPT3opYLnrHCKu7K06ek3juEUvbR97bGlb+dhZGKOdUg6jtWMv6U1PMmP8sQyv1D+uI/C1y68786pcPJExZizwU2vtW/r42XuATwGLbDBLfv/3rwbWW2t/NsjXjoW9OlSUSnYWsNJ1DpF8YMHuHTZ51ZZxixq3j0mVd5SNmo0xI1znksj40uXXnXl12C9ijIn3LtdCFKXDxZpdLJJlwAzfu37W8L3rZ81edRMWk9k9Ypq/pW7R1h1j5lZ1lo5IYky165xSsIZkqatCL1iIVsnqnKzIIRhsbOTuNd7I3Ws8gIyJdTePmLmicdyiHTtGe8O6SoZ5GKNNNqS/+r0YQ7FTyYoUoZjNJEY3rzxmdHNwhiVj4p07RyWfbRy3aNeuUbNHdSWqkhgT+nZmrrW072HD9heYOGYm1RVHfjR9T+tOqsqGE49H6U9pv+w8/F0EolWy7Ye/i4j0JWZ7SsfufO64sTufA6AnlmjfMXru0411C3c3j5w1pjtRkeQ1diQpRK0de7nujv/H3Emv4+ZHruMT513LsIqRr7rPL+/5BnvbmplUM5N3nf5pHlhxK4+98Hc+ef638TctY9GsNzn6DZxSyfZTZErWS/utftJrQ/vKigxaPNNdXrv92RNqtz8LQE+stGX72NSzjXUL9zWPmFHbEy+bTT+2+cpnL+1Yy8UnfZSpdXNo7djLxu2rmDPxxFfc5/EX7uLEmWdx4sw38It7vs76bSvZtGM1JyeXsH7bSkoT5Y7SO6fDxf0UmZLNagKmuA4hEjXxTGdV3dYnF9RtfRKA7nj5nm01x6cba09s2z1ial0mVjqLA4usF4SZRx0HwOrNy1m/Nc2S+e971X2qyoezeec6Wjv20bxvK6OqasBaejI9pDcu45x57x3q2PlCI9l+ilrJNqKSFQldoqd9+PjGRxeObwy23uxKVO3aWnPCyqa6BR17hk0+KhMrmbF/aaB8Zq3lyTX3UVk2jHjs1X8Op49LsWLDYzyw4mbqRk6mqmw4yQkLeHTlnaSmnMRP7ryKs094N7OOPsFBeqdUsv0UmetkAfykdytwoescIsWuo2TYtq2181c31S7o2jtswkQbKznsZgcu3f7ELxg/agrzZ5zxiu//5v5reOvJl1FRWsU9y39PWaKCU+ecx4tNz7N9zxb2tu1i+57NvOPUTzhK7kTH5dedWbTHyY9UFEeyIuJYWdfemokv3V8z8aX7AWgvG9nYVLtgzdba+Zl9VUdNtrHEJLcJ4a5nbmR45RgWzXoTrR37qCh79WXDrR172bzzRabWeqxvSjN7wjwAtu1+idoRE2jr3EeUBir9pPOxRyBqJdvkOoCIvFp5R/O4yRvvHjd5490AtJWPeamx7sR1W2vm2ZaqcdMw8aOGOtMp3nn87K6redj/K0eNnsqoqhpue/zn9N6F500nvJvf3P8tdu5tYmrdHBbMOJO2zhaGVY5i3KjJ3PiP77Jk3qvP5UacSvYIRO1w8UeBH7nOISJHpqWibn3juIUbto09Pt5aWTsDE6t1nUkO6Z+XX3fmaa5DFAqNZEXEuaq2psnTX7xt8vQXbwNgX9VRa7fULdq0vea4krbyMbMwsTGOI8oBm1wHKCRRK1mdkxWJgOqWzdNmrr1l2sy1t2Q3O5i0qrFu0ebtY1MV7WWjtdmBW+tdBygkKlkRyWvBZgcbZg7fu2HmrNW/DzY7GD7Vbxy3aOuOMXMrO0pHJjFmmOucRWSD6wCFRCUrIgXFYGMj96z1Ru5Z22uzgxnPNY5btG3n6DnDO0uGJTGm0nXOCMvZSHb/VnYmuKY6DmT27++a/Z4Je7/XsEWqZLNLK24FNGlCpEgEmx28MHd08wtAsNnBrlGzl2+pW7Rz16jkyK6SKq8YNjsYQjkpWWNMHfBrY8x8YFn2Y54xZiLQDWwDrgXu7PWYLwDN1tof5CLDUIhUyWalUcmKFK2Y7Skds/P5Y8fsfB4INjvYOXrO0411i3bvGjlzdHei0ovaZgdDbG0unsRa22SMuQC43Vp7NoAxZiTwBeBe4GFrbfNBD2snKOCCEcWS9YHTXYcQkfwQz3SX12xffkLN9uVAdrODManljeNO3Ns8YkZNT7w8WeibHQyhLZdfd2ZrDp/vXOAuAGNMAngW+AfwbuDHxpgptsCvM41iyaZdBxCR/BXPdFbVbXtyft22XpsdjD1uZWPdia17Rkyr7YmVzi60zQ6G0OpcPVG2VK8C4saYjwKnAE8A/wX0EPTT240xnwM6sw8bD/QYYy7J3i4Hvmqt/WOucuVaFEvWdx1ARApHoqd9+Pimx04c3/QYAF2JyuZgs4MT2wtps4MhkrOSBS4lKM8vAedxoEjn7f/aWnsTcNP+BxhjPgvss9Zel8McoYpiyWokKyIDVtLdOvLoLQ8tOnrLQwB0lgzb3lQ7b3VT7YLOvcMmTrCxkmmOI7qUy5Kt50CxAux/IzMJuB1YksPXciaKJbsBaAGqXAcRkcJX2rV37MSXHhg78aUHAGgvHdnUVDd/zdba+T37qo6eZGOJyY4jDqXncvVE1tqO7AGCbwFjgP8gGCQtBpYDbfsv8cnVa7oQuZL10r71k94LQNFt8Cgi4SvvbK6bvPGeuskb7wGgrXz05qbahS9urT3BtlSOn2pj8aMdRwzT0zl+vhbgo8AcoBqYAfyWYBbxycB0Y8w6oOfgsjXBZLWYtbYrx5lyKlIbBOznJ70bCGaniYgMqdaK2g2NdSeu31pzQry1sm46JlbnOlOO7Lz8ujNDW0PaGPNBoM1ae0P29mnARuDDwFnAwYtSxICbrLXXhpUpFyI3ks3SeVkRcaKybeukaev+Mmnaur8AsK/qqBcb6xZu3Db2uJK2irEzMbGxjiMOVK5Hsa9grf3pQbf/kf3y38N83bBFtWQ1w1hE8kJ1y+apM9beOnXG2luDzQ6qJ65qHLdo8/YxqfL28jGzCRZgKAShlmxURbVkn3EdQETkYAbM8H0bZw5fvXHmrNV/yG52MCXdWLeoaceYYyo6ykYmMWa465yHoJIdgEiekwXIrmFc4zqHiEh/WUxP88gZ6ca6Rdt2jJ4zrLN0eBJj8uVKiTmXX3emjhIeoaiOZAEeAS5wHUJEpL8MNj6qedXcUc2rAMiYWNeukbOXN45btHPnqOSIrpJqD2PKHURrBVY6eN2Cp5IVEclTMZspGbPLP3bMrmAAmTGJjh2j5zzTOG5h866Rs0ZlNzsoHYIoyy+/7syC3nLOlSiX7MOuA4iI5FLMdpfV7Fh+fM2Olzc7aN0+5pgVjXUL9zSPnDE2u9lBGH/XnwrhOYtClEv2CaAL0JZWIhJJ8UxnZd22p+bVbQs6sDtetnfb2OPSTXUntu4ePq22J16Wq80OluXgOYpSZCc+AfhJ7wlggescIiIudCUqdm+rOWFlY+2JbXuGTxmfiZXMHOBmBzMuv+7MNTkPWASiXrL/BXzCdQ4RkXzQWVK9Y2vNvFVNdQs69w6bdHQmVjK9Hw976fLrzpwQeriIivLhYgjOy6pkRUSA0q59YyZsfnDMhM0PAtBROmJrU+381U21C3r2VR9ys4MHhzZltBRDyYqISB/KOnfXTtp0b+2kTfcC0FY2ektT3YK1W2vm25aq8VNsLD4BeMBtysIW6cPFAH7S2wjoUIeIyBFqrajZuLVm3llL/v69Va6zFKpczDrLd3oXJiIyAJVt24wKdnCKoWTvcB1ARKRA3e06QKErhpK9E4j2MXERkXDc5TpAoYt8yXppfxvwpOscIiIFxqKR7KBFvmSz/uY6gIhIgWnw0v5W1yEKnUpWRET68mfXAaKgWEr2MUDvyERE+u+PrgNEQVGUrJf2M8DtrnOIiBSINV7af8Z1iCgoipLN+pPrACIiBUKj2BwpppK9C2hzHUJEpACoZHOkaErWS/tt6JovEZHD2eCl/cddh4iKoinZrJtcBxARyXM3uw4QJcVWsrcA+1yHEBHJYzpUnENFVbJe2m9F/wGJiBzKFrRFaE4VVclm1bsOICKSp27JXvIoOVKMJXs/sMF1CBGRPPQH1wGipuhK1kv7FviN6xwiInlmDcEgRHKo6Eo261euA4iI5JmfZgchkkNFWbJe2l8J6DowEZFAF/AL1yGiqChLNksToEREAn/y0n6T6xBRVMwl+zug03UIEZE8cL3rAFFVtCXrpf2daGceEZG1wN2uQ0RV0ZZs1g9cBxARcex/NOEpPEVdsl7avw/QnokiUqw04SlkRV2yWd91HUBExJE/a8JTuFSycCOw2XUIEREHfuI6QNQVfcl6ab8L+KHrHCIiQ8xHE55CV/Qlm/UToNV1iKhr7unh4ZYWdnV3v+pn27u76bKaeyEyhL6pCU/hU8kCXtrfgZZaPCJXNzVy3769h7x9sN09PVy2aRPL29u4ZONGdnZ3c8OuXbxj/TpaMxkeammhxJihiC4i8CLwW9chikHCdYA88l3gw4D+0h/GstZWtnd3c0b1sD5v9+WFjg6urK3luIoK9vRkeL6jnXRHO28dMYIV7W1UxPSPXWQIXeOl/VcfUpKc00g2y0v7LwB/dZ0j33VZy5eaGjm6pIR79u591e1DObGykuMqKljW2kpDexvHl1dggW4LD7W0clpV9dD9EiLFrRH4uesQxUIl+0rfcR0g3/15926ml5Zy6egxNLS387vmXa+4/ZtdOw/5WGstf9u7h+HxOAljOKWyigf27WNcIsHlL23isdaWIfxNRIrWd7y03+E6RLFQyfbipf17gUdd58hnfkc7bx85kppEgvOHD+fefftecfvx1kPPHzPGcFXdOGaXlXHfvn0sGT6cy8eOZVg8xuurqrnrNUbCIpITu4Afuw5RTFSyr/Z51wHy2aSSUjZ1dgHwXHs7j7W2vuL2USUlfT7upzt28KfduwHY09PDsHjwn976zk4mlpRSagyZIcgvUuT+20v7+1yHKCbG6rKJV/GT3t3AWa5z5KOWTA//b0sjO3q66baWa486mmu2bn359veOOpq9mQx/2bOHT9bUvPy43T09fHrzS3Ray8yyMq6qraMlk2F5ezvHVZTz3g0buGzMWN447NCTp0RkUPYBk7Obo8gQUcn2wU96C4HHXOcQEcmh73hp/zOuQxQbHS7ug5f2HwdudZ1DRCRHWoBrXYcoRirZQ/sC6DShiETCNV7a3+I6RDFSyR6Cl/afQyuiiEjh2wxc4zpEsVLJvrYvEey3KCJSqL7gpX2tze6ISvY1eGl/LfAz1zlERAboGaDedYhippI9vK8Cba5DiIgMwGe8tK+5JQ6pZA/DS/ubgW+5ziEicoRuz65iJw6pZPvnm8Aa1yFERPqpG/is6xCiku0XL+23Ax9znUNEpJ9+4qX9la5DiEq237y0fwdws+scIiKHsRv4susQElDJHplPEqz/KSKSr77opf3trkNIQCV7BLy0vwm42nUOEZFDeAT4gesQcoBK9sh9F1jhOoSIyEE6gA/okp38opI9Ql7a7wY+Cmj7IhHJJ1/30r7vOoS8kkp2ALy0/0/gV65ziIhkNRBcaih5RiU7cFcA2vxYRFzrIThMrHXW85BKdoC8tL8N+IjrHCJS9L7npf0nXIeQvqlkB8FL+78Hfu06h4gUrTXAVa5DyKGpZAfvY8A61yFEpCh9yEv72sAkj6lkB8lL+3uA9wGaNi8iQ+l6L+3f5zqEvDaVbA5kZxv/p+scIlI0ngc+5TqEHJ5KNne+BDzpOoSIRF4r8A4v7be6DiKHp5LNkez0+fcQ/A8gIhKWj3tp/znXIaR/VLI5lN1a6grXOUQksn7jpf2fuw4h/aeSzTEv7f8I+IvrHCISOSsJlnSVAqKSDccl6LIeEcmddoLzsNpqs8CoZEOQ3cvxInR+VkRy41Ne2l/uOoQcOZVsSLy0/wzwAdc5RKTg3eSl/etch5CBUcmGyEv7vwOucZ1DRArWauBDrkPIwKlkw/c54E7XIUSk4DQD52VXlZMCZazV3uNh85PeKOAJYLrrLCJSELqAc7y0f6/rIDI4GskOAS/t7wLeAmhmoIj0x2Uq2GhQyQ4RL+2vAJYCOnQgIq/lGi/t/9R1CMkNlewQ8tL+zcDXXecQkbx1C3Cl6xCSOyrZofdF4FeuQ4hI3lkGvNdL+zraFSGa+OSAn/QSBO9Yz3OdRUTywkZgkZf2t7gOIrmlknXET3oVBJf2nOY6i4g4tQ841Uv7z7oOIrmnw8WOeGm/DTgf0P9YIsWri2BNYv0diCiVrENe2t8NnAOsdZ1FRIZcD8E52L+5DiLhUck65qX9RuCNQKPrLCIyZCzwIS/t3+Q6iIRLJZsHvLS/lmBEu9t1FhEZEp/00v4vXIeQ8Klk80T2nMz5QJvrLCISqs97af+/XYeQoaGSzSNe2v8HcDHBBs0iEj1f8NL+f7gOIUNHJZtnvLR/B8H1s9rwXSRavuilfa34VmRUsnnIS/v3AOeiDQVEouIrXtr/qusQMvS0GEUe85PeKcDfgGGus4jIgH3ZS/tfcR1C3FDJ5jk/6S0kKNrRrrOIyBHJAB/30v6PXAcRd1SyBcBPenOBvwNHuc4iIv3SQbDQxB9cBxG3VLIFwk9604C7gGmus4jIa9oDXOil/ftdBxH3VLIFxE964wmKdq7rLCLSpy3AEq1FLPtpdnEByW6DdSpwt+ssIvIqq4CTVbDSm0q2wHhpvxlYAvzYdRYRedkTwCle2l/nOojkFx0uLmB+0vsY8D0g7jqLSBG7E3irl/ZbXAeR/KORbAHz0v4PgDejjQVEXPkxcL4KVg5FI9kBMMZ8HGiz1v601/dKgWOBhQTF9x/AE9baDmPMNcAd1tp7wsjjJz0PuA2YHsbzi8irtAMf9dL+L10HkfymkWw/GWMSvW52Ad0H/awSeDvwLuDfrbX/BK41xlxEsDlzT1jZvLTvA4uAB8J6DRF52QbgVBWs9IdGsv1gjBkN3EJQruXAKdkfPUBQtiXAu4Em4Drga8BGoAL4C/AMcIu19v4wc/pJryT7+peG+ToiRewe4J1e2t/uOogUhsTh7yLW2p3A6wGMMZcDhuAowE+stTdmv38mcBMwBzgG+C3BsmpnAkOy84aX9ruAD/hJ72ngWqBsKF5XpEhcC3zOS/uhHZWS6NFI9ggYY8YANwO/z37rHcAF1trm7M9HAJuAHxCU7DuBWmAHwTnZ+4cqq5/0TgB+B8waqtcUiagW4FIv7d/kOogUHp2T7SdjTBnwG+AqgkPE+wje2d5ijBmbvdvHgK0Eh5bfCXwTeBTwgM8YYz46VHm9tP80MB/41VC9pkgErQZep4KVgdJIth+MMdMIyup+gsPGowkOBe8mWH1pKfA24IvANoJzsh8HJgBPAicBP7fW3jbU2QH8pPdegksNql28vkiB+i1wmZf2dYmcDJhKth+MMVOAE621v8/evhxot9b+LHt7NtBGcGTgC8DXrLXrej3+mwzx4eKD+UlvBsHh4/muMogUiJ0El+do9CqDpsPF/WCtXbe/YLPiQGmvn6+01m7IFmspwWzj3kpwPAnJS/urgZOB7wJ6ZyXStzuAY1SwkisayRYhP+m9GfglMPYwdxUpFi3AZ720f53rIBItKtki5Se9WuC/CCZoiRSzR4H3ZY/2iOSUSrbI+UnvXIJJUZNcZxEZYl3AV4Bv6tpXCYtKVvCTXjUHZkTrPL0Ug+XA+720/5TrIBJtKll5mZ/0FgL/Q7DRgUgU7Sa41O6HGr3KUFDJyitk1z++gmDRjXLHcURyxQK/Bv7NS/tNrsNI8VDJSp/8pDcTuB5Y7DiKyGAtBy730v4/XQeR4qPzb9InL+2vItjc4F3Ai47jiAzEbuATwDwVrLiikawclp/0SoHLCVazGu04jsjhWIJlUP/NS/tbXYeR4qaSlX7zk95I4PMEs5B1vlby0UPAlV7af8h1EBFQycoA+ElvEsEeue8h2FtXxLVlwFVe2r/DdRCR3lSyMmDZPWuvAc5ynUWK1nLgi17a/5PrICJ9UcnKoPlJ7xzgy8Aix1GkeKQJ/pu7yUv7+iMmeUslKznjJ73FwJXAOY6jSHStJVgK8QYtJiGFQCUrOecnveMJyvbtBNsCigzWKoJTE7/w0n636zAi/aWSldD4SW8a8Fng/Wg2sgzMXQS7Rf1Vh4WlEKlkJXTZbfU+CVwGjHQcR/JfG8ESiN/30v5zrsOIDIZKVoaMn/SGAZcAH0SbEMirbQJ+CFzvpf2drsOI5IJKVpzwk96JBGX7LmCY4zji1sMEh4Rv1vlWiRqVrDjlJ70q4B0EhXuy4zgydDYDNwK/9tL+s67DiIRFJSt5w096HkHZ/l9grOM4knt7gZuB3wD3emk/4ziPSOhUspJ3shsSXEBwCdC5QLXbRDII3cCdBMX6Jy/ttznOIzKkVLKS1/ykVwa8EbiIoHg1wi0MjxEU6++8tL/ddRgRV1SyUjD8pBcHTiUo3IuASW4TSS9twL3AbcDtXtp/yXEekbygkpWC5Se9ecDFwIXAMY7jFKN1BIeC/wLcrUPBIq+mkpVI8JPeOOAM4MzsxzS3iSJpH3Af8HfgTi/tr3KcRyTvqWQlkvykNxlYTHB4+VQg6TRQYVpDcG710eznp7203+U2kkhhUclKUfCT3ljgFIJrcY8nWHFqnNNQ+WUP8DgHCvVRTVgSGTyVrBQtP+nVACmCwj02+/VcoMJlrpBlCM6lvgCsJNj0/FEgretWRXJPJSvSi5/0YsBMgsJNAVOBicCE7Eeh7Ca0jQNF2vvzGi/td7gMJlJMVLIiRyB72Hl/6fb+PJHgGt4qgsUzqsl9Ie8DthIU6Gt9Xuel/V05fm0RGQCVrEhIstf19i7d/R9VBAXclf3o7vV1X7c7gR1e2m8f4l9BRAZJJSsiIhKSmOsAIiIiUaWSFRERCYlKVkREJCQqWRERkZCoZEVEREKikhUREQmJSlZERCQkKlkREZGQqGRFRERCopIVEREJiUpWREQkJCpZERGRkKhkRUREQqKSFRERCYlKVkREJCQqWRERkZCoZEVEREKikhUREQmJSlZERCQkKlkREZGQqGRFRERCopIVEREJiUpWREQkJCpZERGRkKhkRUREQqKSFRERCYlKVkREJCQqWRERkZCoZEVEREKikhUREQmJSlZERCQkKlkREZGQqGRFRERCopIVEREJiUpWREQkJCpZERGRkKhkRUREQqKSFRERCYlKVkREJCQqWRERkZCoZEVEREKikhUREQmJSlZERCQkKlkREZGQqGRFRERCopIVEREJiUpWREQkJCpZERGRkKhkRUREQvL/AYAPlW1jLYkzAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(edu_counts.values, labels=edu_counts.index, autopct='%1.1f%%')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f93dd586_176c_11ea_8ca4_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >edu</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow0_col0\" class=\"data row0 col0\" >博士</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow0_col1\" class=\"data row0 col1\" >30564</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow0_col2\" class=\"data row0 col2\" >14536</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow0_col3\" class=\"data row0 col3\" >29374</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow0_col4\" class=\"data row0 col4\" >55000</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow0_col5\" class=\"data row0 col5\" >255</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.23%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow1_col0\" class=\"data row1 col0\" >硕士</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow1_col1\" class=\"data row1 col1\" >20626</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow1_col2\" class=\"data row1 col2\" >3782</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow1_col3\" class=\"data row1 col3\" >20000</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow1_col5\" class=\"data row1 col5\" >4258</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow1_col6\" class=\"data row1 col6\" >3.82%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow2_col0\" class=\"data row2 col0\" >本科</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow2_col1\" class=\"data row2 col1\" >17164</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow2_col5\" class=\"data row2 col5\" >73949</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow2_col6\" class=\"data row2 col6\" >66.33%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow3_col0\" class=\"data row3 col0\" >初中及以下</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow3_col1\" class=\"data row3 col1\" >14818</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow3_col2\" class=\"data row3 col2\" >9000</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow3_col4\" class=\"data row3 col4\" >30000</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow3_col5\" class=\"data row3 col5\" >11</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow3_col6\" class=\"data row3 col6\" >0.01%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow4_col0\" class=\"data row4 col0\" >大专</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow4_col1\" class=\"data row4 col1\" >13516</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow4_col2\" class=\"data row4 col2\" >4250</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow4_col3\" class=\"data row4 col3\" >12500</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow4_col4\" class=\"data row4 col4\" >27500</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow4_col5\" class=\"data row4 col5\" >32841</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow4_col6\" class=\"data row4 col6\" >29.46%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow5_col0\" class=\"data row5 col0\" >高中</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow5_col1\" class=\"data row5 col1\" >9186</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow5_col2\" class=\"data row5 col2\" >4418</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow5_col3\" class=\"data row5 col3\" >7000</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow5_col4\" class=\"data row5 col4\" >26050</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow5_col5\" class=\"data row5 col5\" >169</td>\n",
       "                        <td id=\"T_f93dd586_176c_11ea_8ca4_701ce71031efrow5_col6\" class=\"data row5 col6\" >0.15%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2b538bd9c88>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_edu=get_sub_stats_by_col(data[data.edu.isin(['初中及以下','高中','大专','本科','硕士','博士'])], 'edu')\n",
    "apply_style(data_edu)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_associate=data[data.edu=='大专'].monthly_salary\n",
    "salary_bachelor=data[data.edu=='本科'].monthly_salary\n",
    "salary_master=data[data.edu=='硕士'].monthly_salary\n",
    "salary_phd=data[data.edu=='博士'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "大专，本科，硕士，博士的平均工资分别是13429，17398，21360，31131。中位数分别是12500， 15000，20000， 28333。\n"
     ]
    }
   ],
   "source": [
    "print('大专，本科，硕士，博士的平均工资分别是{:.0f}，{:.0f}，{:.0f}，{:.0f}。中位数分别是{:.0f}， {:.0f}，{:.0f}， {:.0f}。'.format(\n",
    "    salary_associate.mean(),salary_bachelor.mean(),salary_master.mean(),salary_phd.mean(),\n",
    "    salary_associate.median(),salary_bachelor.median(),salary_master.median(),salary_phd.median()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=86.49057324289298, pvalue=4.6519374036781984e-20)"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_phd, salary_master)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=303.6414790366444, pvalue=1.3174369223313992e-67)"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_master, salary_bachelor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=1960.5663712118871, pvalue=0.0)"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_bachelor, salary_associate)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经过Oneway Anova Test，证明从大专到博士，学历每提高一级，工资都有显著的提高。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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pqaGjz76CIj8G1i9ejVvv/02OTk5vPLKK1RXV3P77bcDsG/fPr766it69uwZN457772Xa665hvXr17Nv3z5efPFFAEaNGsWrr77K9u3b485St2/fTlZWFpWVldxwww0cOHAg7jgbNmxg8ODBrFy5EoDx48dTXl4OQGVlJZdddhkLFy6kb9++VFZW8uGHH7Jt2zYmTpzI7373OwBWrlzJlVdeGXcMES9eM4vgbGI2cAf+k9vTgXvSG1Z6TJzo/1DXqaeeyldfJX7a5dxzzwWgX79+1NTU0L17dyZNmsSll17K448/HvcFC+C3v/1txFF3rLLjjjuOL7/8koEDB9arm4hrr72W7OzsmOt16NCh0OPg20IDBgzg73//e8y+3n77bfLy8kL1J06cyFtvvcV5552HmTFo0CDeeustAHJzc+nQoQO5ublkZWXFXd+GBOMbMGAAy5YtY9SoUTz99NOhbR7LQw89RE5ODu+9917c/rKzs3nssceYMGECH3/8cag8+m/g5JNPZsuWLfh8Pm655ZZQP48++ijf//73G4x9+/btoW06cODA0HZJZDsPGDCAvn37MnLkSFauXMlxxx0Xcz0A+vbtGzFj7dOnDzt37uSzzz6jW7dudOnShXfeeYdnn32W/Px8/vGPf/DBBx9w5plnsn//ftauXUvfvn3p3Llzg+sj0pAGk4Vz7i7n3F3+h+4S59ztzrnLgLrmCS+1unTpErHcuXNnPv/8c8D/VlC8so0bNwLw2muv0atXL95//326d+/OypUrOfnkk+vNJoK+/PJL3n//fXr37t1g2caNGxkzZgx/+ctfuO222xpch1jxRa/XMcccE3qLKngECrBlyxbAP3vIzc2N2f9ZZ50Vqvfqq69y/fXXc/bZZ7Np0yacc2zYsIHvfjf2KatY6xZLeHzBo/FzzjmH1atXM2LECFauXNngzKKkpISHH36YkpKSuP0tWrSIcePGsXTp0ojtE72tXnzxRUpKSvjzn/8cSnJ79uwhOzubE088scH1+O53v8uGDRsAIrZLItv59ddfZ8iQIaxatYpPPvmE9evXx1wPgK5d618zc/755zN//nyuuOIKAL797W9z6623snbtWubOnRs6z3LNNdcwefLkUJIUSVai5yyOmlmxmV1kZq3yfEUsBQUFPPPMMwwZMoT169fHLdu0aRP5+fl8+umnXH75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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "order=['大专','本科','硕士','博士']\n",
    "a=sns.boxplot(y='edu',x='monthly_salary',order=order,data=data[data.edu.isin(order)], orient='h')\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(0.5,1.5), xytext=(2, 1.55))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 工作经验 Working Experience"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f97b2cac_176c_11ea_8738_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >experience</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow0_col0\" class=\"data row0 col0\" >10+</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow0_col1\" class=\"data row0 col1\" >30610</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow0_col2\" class=\"data row0 col2\" >12500</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow0_col3\" class=\"data row0 col3\" >27500</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow0_col4\" class=\"data row0 col4\" >60000</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow0_col5\" class=\"data row0 col5\" >454</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.35%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow1_col0\" class=\"data row1 col0\" >5_10</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow1_col1\" class=\"data row1 col1\" >22181</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow1_col2\" class=\"data row1 col2\" >11500</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow1_col3\" class=\"data row1 col3\" >20000</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow1_col5\" class=\"data row1 col5\" >17635</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow1_col6\" class=\"data row1 col6\" >13.41%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow2_col0\" class=\"data row2 col0\" >3_5</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow2_col1\" class=\"data row2 col1\" >17457</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow2_col2\" class=\"data row2 col2\" >9000</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow2_col5\" class=\"data row2 col5\" >40951</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow2_col6\" class=\"data row2 col6\" >31.13%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow3_col0\" class=\"data row3 col0\" >no</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow3_col1\" class=\"data row3 col1\" >14116</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow3_col2\" class=\"data row3 col2\" >3750</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow3_col4\" class=\"data row3 col4\" >35000</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow3_col5\" class=\"data row3 col5\" >38507</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow3_col6\" class=\"data row3 col6\" >29.28%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow4_col0\" class=\"data row4 col0\" >1_3</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow4_col1\" class=\"data row4 col1\" >13385</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow4_col2\" class=\"data row4 col2\" >5500</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow4_col3\" class=\"data row4 col3\" >12500</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow4_col4\" class=\"data row4 col4\" >30000</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow4_col5\" class=\"data row4 col5\" >33984</td>\n",
       "                        <td id=\"T_f97b2cac_176c_11ea_8738_701ce71031efrow4_col6\" class=\"data row4 col6\" >25.84%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2b538ca2108>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_experience=get_sub_stats_by_col(data, 'experience')\n",
    "apply_style(data_experience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_we_10=data[data.experience=='10+'].monthly_salary\n",
    "salary_we_5_10=data[data.experience=='5_10'].monthly_salary\n",
    "salary_we_3_5=data[data.experience=='3_5'].monthly_salary\n",
    "salary_we_1_3=data[data.experience=='1_3'].monthly_salary\n",
    "salary_we_no=data[data.experience=='no'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ax4REele/F5UHgoMI/hU0hFmtqBToxIRkS7n95TRw8AdBL+tLCIiPZDfhPAOsMJ7l4GIiPRAfhPCC8BGM1sB7ANwzrX9/FoREek22pMQQu82SO9rkUREJCv4fZbR/cBegglkJxD/jRkiItJtderjr6V7eKOlT/hdB8m8/lEfAF9lU43ntE5dgojE06mPv5bs157HKPTftQuAo7w3X3WW09DjHUQywW9C0OOv0+Duu+9u9fLxeOO6Umc+RiHT65YOn3zyCStWrEj51Yki3YHfF91cBzwG3EvwfcnXJ58j+1RWVrZ6Eff27dvZvn17m+PSYdWqVQwfPrzNcbFC76wNaWpqilqP++67j/vuu6/N5fstly6x67Z7927uuOOODtUV2QZdvR733Xdf1IvMt2/fnnT5M2fOpKmpqfMDE+kEvk/9OOcec879wvvd9ouYu4GuSgjOOWpraxk1alTScfEsWbIkajg2IWSjeOt24oknMm/evA7VF9sGXWXfvn3s3buXk08+OTzujDPOYObMmRmJR6Sz9aprAevWrSMQCHDGGWdw1VVXcccdd3DHHXdw/vnnA/CTn/yk1bjKykpKSkoYN24cl156KYcOHcI5x5VXXkkgEOD888/ngw8+CC9j2rRprZb78MMPc9lllyUc55xj+vTpjB49mksuuYS5c+eGyxUVFYX//uUvf8mcOXO47777KCoqYs+ePQC88MILTJgwgaFDh/LSSy9FHUVv2rSJyspKAH7/+98zfvx4SkpK+OijjxK2089//nPOPfdczjnnHHbs2AHA7bffzrnnnsv555/P66+/zsyZM7nssssYNWoUl1xyCdOnT0+6vk1NTeEdaWRvLRRrYWEh//jHPxg0aBBvv/02kyd/9nT1yDYI+etf/8r48eP56KOP4tbX0tLCt771LcaOHctVV10VXu5Pf/rT8Dawe/du9u/fT0lJCaNGjeKKK67gtttuCy9j+fLlXH311VHLjWzPd999lwsuuICxY8dG9WJuuukmxowZw49//OOEbbx//36mTJlCIBBg6tSpHDp0KO56hNb/X//1X/nmN78Z/v/88Y9/DP9fHnnkET7++GMuvfRSAoEAs2bNAuCWW27hoYceCq976G+RRJImBDO70/u90cw2eD8bzWxD14SXXo2NjWzZsoVp06ZRXFzMvHnzmDdvHv/1X/8FBD9cseMAxo4dy+bNmxk0aBCPPfYY7777LvX19WzevJmKioqohPDoo49GLfPQoUO8/PLLUadPYse99957/OMf/2Dr1q289tpr3HnnnXHj/9GPfsSSJUuYOXMmmzZt4oQTTgDgueeeY82aNcybN4/HH3884frn5+ezceNGAoEAy5cvj1umvr6eP//5z/zlL39hyZIl1NbW8uKLL7Jp0yaefvppKioquOmmmwCYNWsWRxxxBIsXL+bNN99MuL5+nHrqqaxZs4aRI0eydu1azjrrrIRl3377baZPn86KFSs45phjEpYpLy9n/fr1NDU18c477wDR28CGDRt45ZVXyM/P589//jONjY3cfPPNAHzwwQd88sknDBo0KGEct912G5dffjlPPfUUH3zwAX/6058AKC0t5emnn2bHjh0Je5s7duwgJyeHLVu2cNVVV9HS0pJwOVu3buWcc85hzZo1AFx22WXU1NQAsGXLFiZPnsyyZcsYNmwYW7Zs4e2336a+vp4ZM2bw+9//HoA1a9Zw0UUXJVyGCLSREJxzc73f451zE7yf8c65bnnL6YwZMwA4+eST+eSTT3zPN2LECACGDx9OU1MTAwYMYObMmXzrW9/i3nvvTbhTAvjd734XdfQcb9zRRx/NgQMHGDVqVKuyfnz3u98lNzc37nrt378//HfoFM5ZZ53F3/72t7h1vfLKKxQWFobLz5gxg5dffpmzzz4bM2P06NG8/PLLABQUFNCnTx8KCgrIyclJuL7JhOI766yzePjhhyktLeWRRx4Jt3k8v/71r8nPz+f1119PWF9ubi733HMP06dP59133w2Pj90GTjrpJLZt20YgEOBHP/pRuJ67776ba665JmnsO3bsCLfpqFGjwu3ip53POusshg0bxqRJk1izZg1HH3103PUAGDZsWFTP87TTTmPXrl18+OGHHHfccfTv359XX32VlStXUlRUxN///nfeeustvvzlL/PRRx+xadMmhg0bRr9+/ZKuj0ivOmXUv3//qOF+/frx8ccfA8HTNonG1dbWAvD8888zePBg3nzzTQYMGMCaNWs46aSTWvUKQg4cOMCbb77JkCFDko6rra1l6tSpPPvss9x4441J1yFefLHrdcQRR4RPJ4WOJAG2bdsGBHsBBQUFces//fTTw+WefvpprrzySoYOHcpzzz2Hc46tW7fyta99zff6xhMZX+io+swzz2TDhg1MnDiRNWvWJO0hVFRUcNddd1FRUZGwvuXLl3PppZeyYsWKqPaJbas//elPVFRU8Mwzz4QT2Z49e8jNzeX4449Puh5f+9rX2Lp1K0BUu/hp5xdeeIExY8awdu1a3nvvPZ566qm46wGQl9f6ex8jR45kyZIlXHjhhQB85StfYc6cOWzatIlFixaFr3tcfvnlXH311eFEKJJMr0oIsYqLi3n00UcZM2YMTz31VMJxzz33HEVFRbz//vtMmTKFE088kVWrVjFmzJjwTiwk8kju3nvvbXUBMt64008/nTvvvJPx48dzySWXhJcbz5lnnsmrr77K2LFj+cMf/hC3zIQJE1i1ahWzZs3i008/ex5hQ0MDRUVFrFu3ju9///ut4oVgL+icc85hzJgx/PSnP+WWW25h2LBhFBUVMWbMGBYuXMjtt98ed7nx1i1k//79HHnkkQBceOGF/OpXv+KGG25gwIABQPCI+ZRTTuHUU0/lC1/4AqecckrCNjjqqKP44he/yOmnn87jjz8et77i4mJuv/12JkwIdmbfeuutuHWdeeaZlJeXM2HCBC6//HJeeukl7rnnnoS9g8j1+MlPfsJDDz3Eeeedx3HHHcekSZMA+I//+A/GjBnDl770pYQ9nYKCAqqqqjj33HPZvXs3hYWFcdcjkcsuu4wlS5YwZcoUAK699lpqamoIBAL89re/5Ytf/CIAl156KWbGeeedl7Q+ESB4lNnWD7DdT7mu/BkxYoTrCrfccovbuHFjh+Z95513fI174oknXCAQcBMnTnQXXHCBW7FiRYeWl2nx1u3AgQNu1KhR7pxzznGbN2/OQFTJLVu2zI0fP95NmjTJlZaWuo0bN8Zdj9dee82NHj3ajRkzxu3YsSMDkbbfSy+95M4++2x3zz33ZDoUySJAnUuwXzXn4w5SM5sDHHbOVXVyfvKtsLDQ1dXVZTqMLldVVUVjY2Ob5XZ53yrOT/O3igcPHqx3ArdT7F1Sn/vc53jssccyE4z0ema2zTlXGG+a328qX0TwW8pXAPsB57rpheXurrGxkef/+jwc10ZB78anPbYnfQt/P31V9SbZ/r0RkRC/71Qe33Yp6TLHweGiw0mL5GwKXh5qq1x7hOoUkZ7JV0IwMwNKgUHADuB159x/d2ZgIiLStfwe8v0BGE/wGUY5BB9/LSIiPYjfhHCCc+5GoMU593Q75hMRkW7C74499Pjrf9Hjr0VEeia/F5WvM7OLgFe8n1s7NSoREelyvnoI3hvScoCDQI949LWIiETze8roIYLvUN4HTAYe7LSIREQkI/x+Me0LzrlvhwbMbGMnxSMiIhniNyF8bGbzgG3ASOADMws457Z0Xmhdo6oq+DQOPY6h59L/WMQfvwnhWeBI4Fxv+HmgCOj2CcHPc4Gke9P/WMQfvwnhHudc+PnBZnaGcy79b6IXEZGM8XtR+REz+19mdqyZ/TtwW5tziIhIt+I3IYwBvgTsIfht5cltlBcRkW6mPc8yOorgNYRvmNmvOy8kERHJBL/XEH5J8An7JwE/BRK/8FZERLolvz2Ey4GfAbcTPHX07eTFs1ttbS1FRUXhl6FL79Hc3Ex5eTmBQCD8c/vttxMIBLjoootYunQpgUCA5cuXc8MNN0SVKyoqYsOGDZSXl9PQ0MANN9zADTfcwN69ewGiykYKbW+heWPLhWLau3cvO3fupKSkhMbGRh544AECgQArVqwI1xU5PSS2vnhlQlauXEkgEOCKK64Ixx3PLbfcQiAQYOHChUnbM1Tf448/nrCtGxoaKC8vD7fzr3/t/wRDZNvEivxfdbSOVMr6ke76oHP3X34Twtedc5cA7zvnngQ+156FmNnnzazYzAa2O8JOUFlZyeHDh6moqMh0KNLFqqurqa+vjxpXU1MDwHvvvceDDz4YLrdjx46ococPH2bRokXU19ezcOFCduzYwY4dO6iurk66zND2Fpo3UUzV1dUsWrSIffv2ceutt3L33XcDcNddd4XLRk5PJFmZJUuWAMFXrCaLe+PG4HdP161bl3TdQvUtXrw44XotXLiQ+vr6cDs//PDDSeuMV0e8WCP/Vx2tI5WyfqS7Pujc/ZffhLDHzBYAx5tZGbDb7wLM7HjgCYJfaNtoZifEKdPXzN4ws03ez9f91t9etbW1tLS0ANDS0sKHH37YWYuSLNPc3ExNTQ1+3iOeyKFDh3DO0dTUFB63evXqVr2C0HDk9haaN7ZcKKYnn3wyXG9k/QArVqxg586dUdMbGxvjLje2TMjKlSujlr9q1aq4R6633HJL1HCiXkJkfc65qF5CZFs3NTW1Wm8/vYTIOmpqaqJiXbp0aVTZRL2EZHWkUtaPdNcHrfdf6e4lmJ8Ph5n1A64DvkLwaaf3OOc+9rUAs3HAAefcVu+W1XXOuTUxZc4CvuOcu8lv4IWFha6urs5v8bDJkyeHGzSkf//+DBkypN11ZUJDQwMth1s4PCUDr9B8Ioe8nLxu01YhDQ0N9OvXjzFjxrB69WoOHjyY1vrNLG6S2bJlS9ztLVZubq6vmAoKCqISRexwonnuv/9+AMaNG9cqzosvvpi5c+dGjYtNMhBcl1ix9ZkZmzdvBoI9hrbaOl6dkSLryM3NpbS0NByr3xiT1ZFKWT/SXR+03n/l5eWxevXqdtVhZtucc4XxpvnqITjn9jvnfumc+5/OuSq/ycCbd7OXDAIEewnPxCk2GphiZrVmttzM4l7sNrPrzKzOzOr27OnYy+Pb+nBKz7Vu3bq0JwMgaY/Dz/bmN6bYnX9bySC2TLw4165d62vZ8cTWFzmcjraOrOPgwYMdirU9daRjeZ1ZH7TentK9P/N7l1FKvHcyfwd4j+AjtGM9B0x0zr1tZvcTfKJqq6tUzrllwDII9hA6EkteXl5UI+bk5DBkyJDw826y3ezZs3n+reczs/A8GHJS92mrkNAzjE455ZQu7SFA6+0tns7uISSLc9KkSW0uN5HY+oIf86Di4uKU2zqyjtzc3A7F2p460rG8zqwPWm9PeXl5KdcZqUtehemCZgH1wIVxitQ75972/q4DOu2cRGVlZdRw5AdGeraysrKonVa65ObmJpwWu73FE4opWT0/+MEPmD9/ftS4BQsWtFl3ZJk5c+ZETevTpw9lZWWt5hk/fnzUcHFxcdy6Y+u78cYbw3+31dbf/nbbNypG1pGTkxMV6/Tp01uVbW8dqZT1I931Qevtqa27wNqr0xOCmd1kZjO8weOA9+MUe8DMvmFmfYCLgRc6K56RI0eGs2peXh7HHntsZy1KsszAgQMpKSlJKSn07dsXM4s6kJg8eXKr89eh4cjtLTRvbLlQTKWlpeF6Yw9Uvvvd73LaaadFTR88eHDc5caWCZk6dWrU8i+44AIGDBjQah1/9rOfRQ0nupslsj4z48ILPzvWi2zrgoKCVuv9wx/+MG6dkSLrKCkpiYr1+uuvjyp7zTXXtLuOVMr6ke76oPX+a8SIESnXGakregjLgCvNbAvQB4h3Iu1W4AFgO/CMc259ZwZUWVlJTk5O2rOrZL+ysjKGDx8eNa6kpASA448/PnzkWVZWxtChQ6PK5eTkMH/+fIYPH05FRQVDhw5l6NChbR75hba30LyJYiorK2P+/Pn079+fBQsWcO211wLB3kFI5PREkpUJHdXn5+cnjTvUS0jUO4itL7J3ELteFRUVDB8+PNzOfnoHsXXEizXyf9XROlIp60e664PO3X/5ussoG3X0LqNYofPL3eW8eOgaQlt3D3XKXUabcjjzpDO7TVuFdLf/sUhnSnaXUZdcVI4JZlPMqA+ccxd1dRwiIhKtyxOCc66oq5cpIiJt65K7jEREJPspIYiICKCEICIini6/hpBtIu/Tlp5J/2MRf3p9Qgjdkig9l/7HIv7olJGIiABKCCIi4lFCENaLdJoAAA2MSURBVBERQAlBREQ8SggiIgIoIYiIiEcJQUREACUEERHx9PovpnVL73/2voNkZcBHuXYul5PSV52IZBclhG7G72MYdrldAOSflJ++hZ+kx0CI9GRKCN2MHsMgIp1F1xBERARQQhAREY8SgoiIAEoIIiLiUUIQERFACUFERDxKCCIiAighiIiIR19My4CqqioaGxs7NO+uXd43kPPb/gby4MGD9UU2EfFNCSEDGhsbeWX7dk7swLwfeb/fb25OWm53B+oWkd5NCSFDTgSuwdo933Ic+Jg3VE5ExC9dQxAREUAJQUREPEoIIiICKCGIiIhHCUFERAAlBBER8SghiIgIoIQgIiKeXpkQqqqqqKqqynQYvY7aXSS79cpvKnf0OUKSGrW7SHbrlT0EERFpTQlBREQAJQQREfEoIYiICKCEICIiHiUEEREBsiwhmNn/MLOJZnZMpmORzhcIBMI/5eXlNDQ0UF5eTllZGYFAgKlTp0aVCQQCreoYP348gUCACRMmtKoToLm5me9973sEAgE2btwYni9Ud2lpKYFAgOLi4ri3xcbWV1tbS1FREdu2bWuzbCJz584lEAjwb//2b0nLNTc3U15ezt69e8Pjdu7cSUlJSVSs119/PYFAgFmzZiWcr73Wr1/fqs1SlaztEom3vn6mdaQcpKfturMuSwhmNsjMnkoy/TTgD8AYYLOZHdFVsUnm1dfXs3DhQurr63nttdcAfH0oP/30UwAOHToUd3p1dTVvvPEGAAsXLgyPD9X90UfBl5IeOHCAW2+9tc3lVVZWcvjwYSoqKtosm0hdXR0AW7duTVquurqa+vp6qqurw+MWLVrEvn37omJ9+eWXAXjxxRcTztdet912GxDd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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "order=['10+','5_10','3_5','1_3']\n",
    "sns.boxplot(y='experience',x='monthly_salary',order=order,data=data[data.experience.isin(order)], orient='h')\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(1.5,1.5), xytext=(1.55, 1.55))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 公司 Company"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 公司性质 Company Type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f9c15c02_176c_11ea_bd51_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >company_type</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow0_col0\" class=\"data row0 col0\" >外资（欧美）</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow0_col1\" class=\"data row0 col1\" >19215</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow0_col2\" class=\"data row0 col2\" >6000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow0_col3\" class=\"data row0 col3\" >17500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow0_col4\" class=\"data row0 col4\" >45000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow0_col5\" class=\"data row0 col5\" >6912</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow0_col6\" class=\"data row0 col6\" >5.26%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow1_col0\" class=\"data row1 col0\" >合资</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow1_col1\" class=\"data row1 col1\" >16606</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow1_col2\" class=\"data row1 col2\" >6000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow1_col4\" class=\"data row1 col4\" >37500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow1_col5\" class=\"data row1 col5\" >11616</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow1_col6\" class=\"data row1 col6\" >8.83%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow2_col0\" class=\"data row2 col0\" >外资（非欧美）</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow2_col1\" class=\"data row2 col1\" >15982</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow2_col3\" class=\"data row2 col3\" >14000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow2_col5\" class=\"data row2 col5\" >7727</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow2_col6\" class=\"data row2 col6\" >5.87%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow3_col0\" class=\"data row3 col0\" >民营公司</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow3_col1\" class=\"data row3 col1\" >15886</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow3_col2\" class=\"data row3 col2\" >5000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow3_col3\" class=\"data row3 col3\" >14000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow3_col5\" class=\"data row3 col5\" >96429</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow3_col6\" class=\"data row3 col6\" >73.31%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow4_col0\" class=\"data row4 col0\" >国企</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow4_col1\" class=\"data row4 col1\" >15703</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow4_col2\" class=\"data row4 col2\" >3500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow4_col3\" class=\"data row4 col3\" >13500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow4_col4\" class=\"data row4 col4\" >45000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow4_col5\" class=\"data row4 col5\" >8007</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow4_col6\" class=\"data row4 col6\" >6.09%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow5_col0\" class=\"data row5 col0\" >非营利组织</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow5_col1\" class=\"data row5 col1\" >14231</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow5_col2\" class=\"data row5 col2\" >2664</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow5_col3\" class=\"data row5 col3\" >12500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow5_col4\" class=\"data row5 col4\" >32833</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow5_col5\" class=\"data row5 col5\" >146</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow5_col6\" class=\"data row5 col6\" >0.11%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow6_col0\" class=\"data row6 col0\" >事业单位</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow6_col1\" class=\"data row6 col1\" >13755</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow6_col2\" class=\"data row6 col2\" >5250</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow6_col3\" class=\"data row6 col3\" >12500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow6_col4\" class=\"data row6 col4\" >25000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow6_col5\" class=\"data row6 col5\" >645</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow6_col6\" class=\"data row6 col6\" >0.49%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow7_col0\" class=\"data row7 col0\" >外企代表处</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow7_col1\" class=\"data row7 col1\" >12122</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow7_col2\" class=\"data row7 col2\" >7000</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow7_col3\" class=\"data row7 col3\" >10500</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow7_col4\" class=\"data row7 col4\" >22033</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow7_col5\" class=\"data row7 col5\" >49</td>\n",
       "                        <td id=\"T_f9c15c02_176c_11ea_bd51_701ce71031efrow7_col6\" class=\"data row7 col6\" >0.04%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2b538cbfd88>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_company_type=get_sub_stats_by_col(data,'company_type')\n",
    "apply_style(data_company_type)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "us_eu是欧美外企，startup是创业公司，listed是上市公司，state是国企，private是私企，foreign是非欧美外企，其他不足1000个样本的不管了。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 公司规模 Company Size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >company_size</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow0_col0\" class=\"data row0 col0\" >10000+</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow0_col1\" class=\"data row0 col1\" >23880</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow0_col2\" class=\"data row0 col2\" >6009</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow0_col3\" class=\"data row0 col3\" >22500</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow0_col4\" class=\"data row0 col4\" >45000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow0_col5\" class=\"data row0 col5\" >8553</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow0_col6\" class=\"data row0 col6\" >6.50%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow1_col0\" class=\"data row1 col0\" >5000-10000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow1_col1\" class=\"data row1 col1\" >19892</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow1_col2\" class=\"data row1 col2\" >7000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow1_col3\" class=\"data row1 col3\" >17500</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow1_col4\" class=\"data row1 col4\" >45798</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow1_col5\" class=\"data row1 col5\" >3386</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow1_col6\" class=\"data row1 col6\" >2.57%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow2_col0\" class=\"data row2 col0\" ></td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow2_col1\" class=\"data row2 col1\" >19130</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow2_col2\" class=\"data row2 col2\" >7000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow2_col3\" class=\"data row2 col3\" >12500</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow2_col4\" class=\"data row2 col4\" >58333</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow2_col5\" class=\"data row2 col5\" >1322</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow2_col6\" class=\"data row2 col6\" >1.01%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow3_col0\" class=\"data row3 col0\" >500-1000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow3_col1\" class=\"data row3 col1\" >16473</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow3_col2\" class=\"data row3 col2\" >4500</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow3_col3\" class=\"data row3 col3\" >15000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow3_col4\" class=\"data row3 col4\" >35000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow3_col5\" class=\"data row3 col5\" >13068</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow3_col6\" class=\"data row3 col6\" >9.94%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow4_col0\" class=\"data row4 col0\" >1000-5000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow4_col1\" class=\"data row4 col1\" >16454</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow4_col2\" class=\"data row4 col2\" >6385</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow4_col3\" class=\"data row4 col3\" >15000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow4_col4\" class=\"data row4 col4\" >35000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow4_col5\" class=\"data row4 col5\" >17448</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow4_col6\" class=\"data row4 col6\" >13.27%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow5_col0\" class=\"data row5 col0\" >150-500</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow5_col1\" class=\"data row5 col1\" >15901</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow5_col2\" class=\"data row5 col2\" >5250</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow5_col3\" class=\"data row5 col3\" >14583</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow5_col4\" class=\"data row5 col4\" >35000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow5_col5\" class=\"data row5 col5\" >29337</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow5_col6\" class=\"data row5 col6\" >22.30%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow6_col0\" class=\"data row6 col0\" >50-150</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow6_col1\" class=\"data row6 col1\" >15042</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow6_col2\" class=\"data row6 col2\" >4500</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow6_col3\" class=\"data row6 col3\" >13000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow6_col4\" class=\"data row6 col4\" >32500</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow6_col5\" class=\"data row6 col5\" >39240</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow6_col6\" class=\"data row6 col6\" >29.83%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow7_col0\" class=\"data row7 col0\" >50-</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow7_col1\" class=\"data row7 col1\" >13680</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow7_col2\" class=\"data row7 col2\" >4191</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow7_col3\" class=\"data row7 col3\" >12500</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow7_col4\" class=\"data row7 col4\" >30000</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow7_col5\" class=\"data row7 col5\" >19177</td>\n",
       "                        <td id=\"T_f9d1ae66_176c_11ea_87fd_701ce71031efrow7_col6\" class=\"data row7 col6\" >14.58%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2b538cbec48>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_company_size=get_sub_stats_by_col(data,'company_size')\n",
    "apply_style(data_company_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "公司越大，工资越高"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 行业 Industry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031ef\" ><thead>    <tr>        <th class=\"col_heading level0 col0\" >industry</th>        <th class=\"col_heading level0 col1\" >salary_mean</th>        <th class=\"col_heading level0 col2\" >salary_95_min</th>        <th class=\"col_heading level0 col3\" >salary_median</th>        <th class=\"col_heading level0 col4\" >salary_95_max</th>        <th class=\"col_heading level0 col5\" >head_count</th>        <th class=\"col_heading level0 col6\" >percentage</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow0_col0\" class=\"data row0 col0\" >finance</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow0_col1\" class=\"data row0 col1\" >18140</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow0_col2\" class=\"data row0 col2\" >5074</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow0_col3\" class=\"data row0 col3\" >16000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow0_col4\" class=\"data row0 col4\" >58333</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow0_col5\" class=\"data row0 col5\" >4234</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow0_col6\" class=\"data row0 col6\" >3.22%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow1_col0\" class=\"data row1 col0\" >logistic</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow1_col1\" class=\"data row1 col1\" >17580</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow1_col2\" class=\"data row1 col2\" >6080</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow1_col4\" class=\"data row1 col4\" >40000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow1_col5\" class=\"data row1 col5\" >1791</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow1_col6\" class=\"data row1 col6\" >1.36%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow2_col0\" class=\"data row2 col0\" >edu</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow2_col1\" class=\"data row2 col1\" >16463</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow2_col4\" class=\"data row2 col4\" >40000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow2_col5\" class=\"data row2 col5\" >7347</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow2_col6\" class=\"data row2 col6\" >5.59%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow3_col0\" class=\"data row3 col0\" >computer</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow3_col1\" class=\"data row3 col1\" >16149</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow3_col2\" class=\"data row3 col2\" >5000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow3_col3\" class=\"data row3 col3\" >14000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow3_col5\" class=\"data row3 col5\" >101600</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow3_col6\" class=\"data row3 col6\" >77.24%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow4_col0\" class=\"data row4 col0\" >service</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow4_col1\" class=\"data row4 col1\" >15218</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow4_col2\" class=\"data row4 col2\" >4469</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow4_col3\" class=\"data row4 col3\" >15000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow4_col4\" class=\"data row4 col4\" >30000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow4_col5\" class=\"data row4 col5\" >855</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow4_col6\" class=\"data row4 col6\" >0.65%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow5_col0\" class=\"data row5 col0\" >ads</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow5_col1\" class=\"data row5 col1\" >15180</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow5_col2\" class=\"data row5 col2\" >5550</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow5_col3\" class=\"data row5 col3\" >13500</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow5_col4\" class=\"data row5 col4\" >33700</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow5_col5\" class=\"data row5 col5\" >1364</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow5_col6\" class=\"data row5 col6\" >1.04%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow6_col0\" class=\"data row6 col0\" >trade</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow6_col1\" class=\"data row6 col1\" >15101</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow6_col2\" class=\"data row6 col2\" >5250</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow6_col3\" class=\"data row6 col3\" >14000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow6_col4\" class=\"data row6 col4\" >32500</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow6_col5\" class=\"data row6 col5\" >7162</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow6_col6\" class=\"data row6 col6\" >5.45%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow7_col0\" class=\"data row7 col0\" >medical</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow7_col1\" class=\"data row7 col1\" >14931</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow7_col2\" class=\"data row7 col2\" >5000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow7_col3\" class=\"data row7 col3\" >14000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow7_col4\" class=\"data row7 col4\" >30000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow7_col5\" class=\"data row7 col5\" >2755</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow7_col6\" class=\"data row7 col6\" >2.09%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow8_col0\" class=\"data row8 col0\" >gov</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow8_col1\" class=\"data row8 col1\" >14896</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow8_col2\" class=\"data row8 col2\" >2730</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow8_col3\" class=\"data row8 col3\" >13000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow8_col4\" class=\"data row8 col4\" >30000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow8_col5\" class=\"data row8 col5\" >1526</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow8_col6\" class=\"data row8 col6\" >1.16%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow9_col0\" class=\"data row9 col0\" >energy</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow9_col1\" class=\"data row9 col1\" >14824</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow9_col2\" class=\"data row9 col2\" >5250</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow9_col3\" class=\"data row9 col3\" >14000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow9_col4\" class=\"data row9 col4\" >30000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow9_col5\" class=\"data row9 col5\" >1069</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow9_col6\" class=\"data row9 col6\" >0.81%</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                                <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow10_col0\" class=\"data row10 col0\" >realestate</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow10_col1\" class=\"data row10 col1\" >14625</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow10_col2\" class=\"data row10 col2\" >3910</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow10_col3\" class=\"data row10 col3\" >12500</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow10_col4\" class=\"data row10 col4\" >30000</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow10_col5\" class=\"data row10 col5\" >1828</td>\n",
       "                        <td id=\"T_f9e8b8c6_176c_11ea_9a69_701ce71031efrow10_col6\" class=\"data row10 col6\" >1.39%</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2b539db0588>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_industry=get_sub_stats_by_col(data,'industry')\n",
    "apply_style(data_industry)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
